如何运行从轨测试套件单个测试?(How to run a single test from a ra

2019-07-20 11:54发布

我怎样才能运行从轨测试套件单个测试?

rake test ANYTHING ,似乎没有帮助。

Answer 1:

注意: 这不通过运行测试rake 所以,你在任何代码Rakefile不会得到执行。

要运行一个测试,从轨项目的主目录使用以下命令:

ruby -I test test/unit/my_model_test.rb -n test_name

这将运行一个名为“名”检验单,指定文件在MyModelTest类中定义。 该TEST_NAME通过取测试名称,与单词“test”前面加上它,然后用下划线分隔单词形成。 例如:

class MyModelTest < ActiveSupport::TestCase

  test "valid with good attributes" do
    # do whatever you do
  end

  test "invalid with bad attributes" do
    # do whatever you do
  end
end

您可以通过同时运行测试:

ruby -I test test/unit/my_model_test.rb

并且只是通过第二测试

ruby -I test test/unit/my_model_test.rb -n test_invalid_with_bad_attributes


Answer 2:

运行测试文件

rake test TEST=tests/functional/accounts_test.rb

运行在一个文件单独测试

rake test TEST=tests/functional/accounts_test.rb TESTOPTS="-n /paid accounts/"

(从@Puhlze的评论。)



Answer 3:

对于轨道5:

rails test test/models/my_model.rb


Answer 4:

感谢@詹姆斯,答案似乎是:

rails test test/models/my_model.rb:22

假定图22是给定的测试的行号。 据轨道的帮助:

  $ rails test --help 

您可以通过添加行号为文件名运行单个测试:

  bin/rails test test/models/user_test.rb:27 

另外,请注意,您的测试应该从ActionDispatch :: IntegrationTest继承这个工作(这是我的错误):

class NexApiTest < ActionDispatch::IntegrationTest
.
.
.


Answer 5:

在导轨5,

我用这样的方式来运行单个测试文件(在一个文件中的所有测试)

rails test -n /TopicsControllerTest/ -v

看这里https://stackoverflow.com/a/41183694/3626659



Answer 6:

要运行实际的Rails套件的单个测试:

bundle exec ruby -I"railties/test" actionpack/test/template/form_options_helper_test.rb


Answer 7:

这是我的一个愚蠢的问题午夜。 导轨麻烦打印它在执行命令rake test 。 剩下的就是一个剪切和粘贴的锻炼。

~/projects/rails/actionpack (my2.3.4)$ ruby -I"lib:test" "/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake/rake_test_loader.rb" "test/controller/base_test.rb"


Answer 8:

如果你想运行一个测试,你可以运行它们作为一个经常Ruby脚本

ruby actionmailer/test/mail_layout_test.rb

您还可以运行整个套件(如ActiveRecord的或的ActionMailer)通过cd -ing进入目录并运行rake test在里面。



Answer 9:

最好的办法就是用眼睛直视指南: http://guides.rubyonrails.org/contributing_to_ruby_on_rails.html#running-tests

cd actionmailer
bundle exec ruby -w -Itest test/mail_layout_test.rb -n test_explicit_class_layout


Answer 10:

首先,访问你要测试的lib文件夹(这很重要),然后运行:

~/Projects/rails/actionview (master)$ ruby -I test test/template/number_helper_test.rb 


Answer 11:

在我的情况rake只能TESTOPTS="-n='/sample/'"

bundle exec rake test TEST=test/system/example_test.rb TESTOPTS="-n='/sample/'"


文章来源: How to run a single test from a rails test suite?