我怎样才能运行从轨测试套件单个测试?
rake test ANYTHING
,似乎没有帮助。
我怎样才能运行从轨测试套件单个测试?
rake test ANYTHING
,似乎没有帮助。
注意: 这不通过运行测试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
运行测试文件 :
rake test TEST=tests/functional/accounts_test.rb
运行在一个文件单独测试 :
rake test TEST=tests/functional/accounts_test.rb TESTOPTS="-n /paid accounts/"
(从@Puhlze的评论。)
对于轨道5:
rails test test/models/my_model.rb
感谢@詹姆斯,答案似乎是:
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
.
.
.
在导轨5,
我用这样的方式来运行单个测试文件(在一个文件中的所有测试)
rails test -n /TopicsControllerTest/ -v
看这里https://stackoverflow.com/a/41183694/3626659
要运行实际的Rails套件的单个测试:
bundle exec ruby -I"railties/test" actionpack/test/template/form_options_helper_test.rb
这是我的一个愚蠢的问题午夜。 导轨麻烦打印它在执行命令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"
如果你想运行一个测试,你可以运行它们作为一个经常Ruby脚本
ruby actionmailer/test/mail_layout_test.rb
您还可以运行整个套件(如ActiveRecord的或的ActionMailer)通过cd
-ing进入目录并运行rake test
在里面。
最好的办法就是用眼睛直视指南: 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
首先,访问你要测试的lib文件夹(这很重要),然后运行:
~/Projects/rails/actionview (master)$ ruby -I test test/template/number_helper_test.rb
在我的情况rake
只能TESTOPTS="-n='/sample/'"
:
bundle exec rake test TEST=test/system/example_test.rb TESTOPTS="-n='/sample/'"