ruby - 通过 rspec 测试
问题描述
嘿,我正在构建扫雷游戏作为我的项目,但我在通过此测试时遇到问题。
it "should initialise each position in each column in matrix as _" do
matrix = []
matrix[0] = ["_", "_", "_", "_", "_", "_","_"]
matrix[1] = ["_", "_", "_", "_", "_", "_","_"]
matrix[2] = ["_", "_", "_", "_", "_", "_","_"]
matrix[3] = ["_", "_", "_", "_", "_", "_","_"]
matrix[4] = ["_", "_", "_", "_", "_", "_","_"]
matrix[5] = ["_", "_", "_", "_", "_", "_","_"]
matrix[6] = ["_", "_", "_", "_", "_", "_","_"]
@game.clearcolumns
@game.matrix.should eql matrix
end
这是我的简单方法:
def clearcolumns
def matrix
matrix = []
matrix[0] = ["_", "_", "_", "_", "_", "_","_"]
matrix[1] = ["_", "_", "_", "_", "_", "_","_"]
matrix[2] = ["_", "_", "_", "_", "_", "_","_"]
matrix[3] = ["_", "_", "_", "_", "_", "_","_"]
matrix[4] = ["_", "_", "_", "_", "_", "_","_"]
matrix[5] = ["_", "_", "_", "_", "_", "_","_"]
matrix[6] = ["_", "_", "_", "_", "_", "_","_"]
end
end
出于某种原因,我遇到了这个失败:
Failure/Error: @game.matrix.should eql matrix
expected: [["_", "_", "_", "_", "_", "_", "_"], ["_", "_", "_", "_", "_", "_", "_"], ["_", "_", "_", "_", "_", ... "_", "_", "_", "_", "_"], ["_", "_", "_", "_", "_", "_", "_"], ["_", "_", "_", "_", "_", "_", "_"]]
got: ["_", "_", "_", "_", "_", "_", "_"]
解决方案
ruby 中的方法(没有显式return
语句)将返回执行的最后一行代码的结果。在您的情况下,您的最后一行matrix
是matrix[6] = ["_", "_", "_", "_", "_", "_","_"]
这样该方法将始终返回["_", "_", "_", "_", "_", "_","_"]
。如果你想返回完整的矩阵,你可以这样做:
def matrix
# Initialize the matrix variable
matrix = []
# Explicitly set each row of the matrix
matrix[0] = ["_", "_", "_", "_", "_", "_","_"]
matrix[1] = ["_", "_", "_", "_", "_", "_","_"]
matrix[2] = ["_", "_", "_", "_", "_", "_","_"]
matrix[3] = ["_", "_", "_", "_", "_", "_","_"]
matrix[4] = ["_", "_", "_", "_", "_", "_","_"]
matrix[5] = ["_", "_", "_", "_", "_", "_","_"]
matrix[6] = ["_", "_", "_", "_", "_", "_","_"]
# Return the matrix
matrix
end
推荐阅读
- flutter - 无效参数:在 URI 文件中未指定主机:///Resources/StudentImages/195/image_picker1079633126869562649.jpg
- for-loop - Octave 使用“for”语句同时显示两个动画
- spring - RestTemplate 调用 GET HTTPS Endpoint 问题
- sql - 带有 FOR 循环的 Postgresql SELECT 示例
- bash - Bash:导出 .env 变量
- messagebird - MessageBird reportUrl 未触发
- angular - 赛普拉斯使用参数测试不同页面中的相同组件
- express - 希腊语数据响应在快递中不可见
- html - 无法更改电子邮件模板 D365 crm 中的最小高度
- python - 蟒蛇硒。无法点击按钮