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

rake test TEST=path/to/test_file.rb

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

我正在寻找类似的功能:

rspec path/to/test_file.rb -l 25

当前回答

以下将会起作用

def test_abc
end

test "hello world"
end

这可以通过

bundle exec ruby -I test path/to/test -n test_abc

bundle exec ruby -I test path/to/test -n test_hello_word

其他回答

如果你正在使用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

安装gem minest -focus并使用关键字focus on test/spec,如下所示,只运行特定的测试。

focus
def test
end


focus
it "test" do
end

这将不需要传递任何命令行参数。

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

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

m spec/my_spec.rb:25

我在Rails版本4.2.11.3和Ruby版本2.4.7p357

下面一个对我有用。

ruby -Itest <relative_minitest_file_path> --name /<test_name>/

以下将会起作用

def test_abc
end

test "hello world"
end

这可以通过

bundle exec ruby -I test path/to/test -n test_abc

bundle exec ruby -I test path/to/test -n test_hello_word