【发布时间】:2017-05-09 01:10:41
【问题描述】:
我正在寻找干掉我的代码,以便测试从棋盘第一行垂直移动的 Rook (x_position = 0) 的有效移动。
这是我目前面临的挑战。以下代码块从 x_position(0) 开始遍历板上的所有方格,并迭代 y_position(0..7),最后将每个 x_poisition 迭代到 7。
我当前的规范测试代码:
require 'rails_helper'
RSpec.describe Rook, type: :model do
describe "#valid_move?" do
it "returns true if move is valid vertically" do
game = FactoryGirl.create(:game)
rook = FactoryGirl.create(:rook, x_position: 0, y_position: 0, game: game)
(0..7).each {|i| (0..7).each {|j| expect(rook.valid_move?(i,j)).to eq(true)}}
end
我对这段代码的追求是,而不是 FactoryGirl 在 (0,0) 处启动车,而是使用循环让 FatroyGirl 在 (0,0) 处启动车并迭代 y_position(1.. 7) 然后将 x_position 加 1 并再次迭代 y_position(1..7) 直到 (7,7) 被测试。
【问题讨论】:
标签: ruby-on-rails ruby rspec factory-bot rspec-rails