21

我通常可以使用以下命令行语法来测试常规 Test::Unit 方法,用于方法“delete_user_test”:

ruby functional/user_controller_test.rb -n delete_user_test

现在,当我将 shoulda 插件与 Test::Unit 一起使用时,我尝试使用以下相同的技术:

... 
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 运行一个,而不必等待所有测试运行。

4

3 回答 3

36

这对我有用:

ruby functional/user_controller_test.rb -n "/Deleting a User/"

只需将上下文名称中一些相当长的字符串放入正则表达式即可。

于 2009-10-29T07:18:13.240 回答
6

在末尾使用空格的测试全名似乎也可以:

ruby -Itest 
     functional/user_controller_test.rb 
     -n "test: Deleting a user should remove user from user table. "
于 2010-10-25T10:04:23.240 回答
3

结合这两种方法对我来说效果很好。同时使用-I test和正则表达式。

ruby -Itest functional/user_controller_teset.rb -n "/remove user from user table/"
于 2011-12-09T16:31:32.263 回答