10 ответов:
Примечание:это не запускает тест через
rake. Так что любой код у вас есть вRakefileне будет выполняться.чтобы выполнить один тест, используйте следующую команду из главного каталога Вашего проекта rails:
ruby -I test test/unit/my_model_test.rb -n test_nameпри этом выполняется один тест с именем "name", определенный в классе MyModelTest в указанном файле. Test_name формируется путем взятия имени теста, добавляя к нему слово "тест", а затем разделяя слова с помощью подчеркивает. Например:
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.)
благодаря @James, ответ, кажется, будет:
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
Если вы хотите запустить один тест, вы можете просто запустить их как обычный скрипт Ruby
ruby actionmailer/test/mail_layout_test.rbвы также можете запустить целый набор (например. ActiveRecord или ActionMailer) by
cd- входим в каталог и запускаем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
Comments