0
我有一個用Ruby 1.9.3(最新穩定的Windows RubyInstaller)編寫的TDD解決方案。MiniTest套件只能運行4個測試用例文件中的兩個
該應用程序位於應用程序目錄和兄弟測試目錄中,我有4個包含測試的文件。
我有一個Rakefile執行僅包含測試用例文件的MiniTest測試套件。 需要「耙/ testtask」
Rake::TestTask.new do |t|
t.libs << "test"
t.test_files = FileList['test/ts_*.rb']
t.verbose = true
end
ts_test_suite.rb:
gem 'minitest'
require_relative 'tc_requirement_tests.rb'
require_relative 'tc_command_tests.rb'
require_relative 'tc_movement_tests.rb'
require_relative 'tc_placement_tests.rb'
當我從命令行的4個文件的2成功地和(一些奇怪的原因)其他兩個執行執行耙測試沒有被執行。 tc_requirement_tests.rb是這兩個文件中的一個:
require 'test_base.rb'
require './app/turn_to.rb'
require './app/direction.rb'
class RequirementTests < TestBase
def requirement_test_1
@bad_robot.place(0, 0, Direction::NORTH)
@bad_robot.move
assert_equal "Output: 0,1,NORTH", @bad_robot.report_posture
end
def requirement_test_2
@bad_robot.place(0, 0, Direction::NORTH)
@bad_robot.turn(TurnTo::LEFT)
assert_equal "Output: 0,0,WEST", @bad_robot.report_posture
end
def requirement_test_3
@bad_robot.place(1, 2, Direction::EAST)
@bad_robot.move
@bad_robot.move
@bad_robot.turn(TurnTo::LEFT)
@bad_robot.move
assert_equal "Output: 3,3,NORTH", @bad_robot.report_posture
end
end
如果我故意把一個語法錯誤中未執行兩個測試用例文件之一,耙預期的錯誤消息,抱怨,所以我知道它正在「看到」文件。
任何想法爲什麼4個測試用例文件中的2個未被執行?
如果您重新命名測試以使其以「test_」開頭,會發生什麼?我不知道這個特定的框架,但我用過的其他框架要求測試名稱以「test_」開頭 –
謝謝Sebastian。所有4個測試文件開始「tc_」。只有2個不起作用 –
我的意思是測試本身的名稱,而不是文件。具體而言,如果將此特定文件中的測試方法重命名爲「test_requirement_3」「test_requirement_1」等,會發生什麼情況。 –