我通常可以使用以下命令行语法为方法“delete_user_test”测试常规的Test :: Unit方法:
ruby functional/user_controller_test.rb -n delete_user_test
现在,当我使用带有Test :: Unit的shoulda插件时,我尝试使用与以下相同的技术:
...
context "Deleting a User" do
should "remove user from user table" do
...
end
end
然后我尝试按如下方式运行单个测试:
ruby functional/user_controller_test.rb -n "test: Deleting a User should remove user from user table"
这不起作用。有谁知道如何使用shoulda和Test :: Unit运行单个上下文测试。我在一个测试文件中有几个不同的测试,我想只使用TDD运行一个,而不必等待所有测试运行。
答案 0 :(得分:34)
这对我有用:
ruby functional/user_controller_test.rb -n "/Deleting a User/"
只需将您的上下文名称中的一些相当长的字符串放入正则表达式中。
答案 1 :(得分:4)
使用测试的全名和最后的空格似乎也有效:
ruby -Itest
functional/user_controller_test.rb
-n "test: Deleting a user should remove user from user table. "
答案 2 :(得分:3)
结合这两种方法对我来说效果很好;同时使用-I test
和正则表达式。
ruby -Itest functional/user_controller_teset.rb -n "/remove user from user table/"