我可以在一个文件中运行所有测试:

rake test TEST=path/to/test_file.rb

但是,如果我只想在该文件中运行一个测试,我该怎么做呢?

我正在寻找类似的功能:

rspec path/to/test_file.rb -l 25

当前回答

如果你在minitest中使用Turn gem,请确保使用Turn.config.pattern选项,因为Turn minitest运行器不尊重arg中的——name选项。

其他回答

你可以用它来运行一个文件:

rake test TEST=test/path/to/file.rb

我也用过

ruby -I"lib:test" test/path/to/file.rb

为了更好的显示。

如果你正在使用MiniTest和Rails 5+,最好的方法是在一个文件中运行所有测试:

bin/rails test path/to/test_file.rb

对于单个测试(例如在第25行):

bin/rails test path/to/test_file.rb:25

看到http://guides.rubyonrails.org/testing.html the-rails-test-runner

我正在寻找类似于rspec path/to/file的功能。Rb -l 25

用尼克·夸兰托的"m"宝石,你可以说:

m spec/my_spec.rb:25

你可以通过——name来运行一个测试,通过它的名字或者它名字中的一个数字:

-n, --name PATTERN               Filter run on /regexp/ or string.

例如:

$ ruby spec/stories/foo_spec.rb --name 3

FAIL (0:00:00.022) test_0003_has foo
Expected: "foo"
Actual: nil

这个标志被记录在Minitest的README中。

如果你在minitest中使用Turn gem,请确保使用Turn.config.pattern选项,因为Turn minitest运行器不尊重arg中的——name选项。