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”等,会发生什么情况。 –