Jak uruchomić pojedynczy test z zestawu testów rails?
Jak mogę uruchomić pojedynczy test z zestawu testów rails?
rake test ANYTHING
wygląda na to, że to nie pomaga.
10 answers
UWAGA: to nie uruchamia testu przez rake
. Więc żaden kod, który masz w Rakefile
nie zostanie wykonany.
Aby uruchomić pojedynczy test, użyj następującego polecenia z katalogu głównego projektu rails:
ruby -I test test/unit/my_model_test.rb -n test_name
Uruchamia pojedynczy test o nazwie "name", zdefiniowany w klasie MyModelTest w podanym pliku. Nazwa testu jest tworzona przez przyjęcie nazwy testu, poprzedzając ją słowem "test", a następnie oddzielając słowa podkreślnikami. Na przykład:
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
Możesz uruchomić oba testy poprzez:
ruby -I test test/unit/my_model_test.rb
I tylko drugi test przez
ruby -I test test/unit/my_model_test.rb -n test_invalid_with_bad_attributes
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-02-18 15:35:52
Uruchom plik testowy :
rake test TEST=tests/functional/accounts_test.rb
Uruchom pojedynczy test w pliku testowym:
rake test TEST=tests/functional/accounts_test.rb TESTOPTS="-n /paid accounts/"
(z komentarza @ Puhlze.)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-05-11 05:24:29
Dla rails 5:
rails test test/models/my_model.rb
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-06-28 14:38:26
Dzięki @ James, odpowiedź wydaje się być:
rails test test/models/my_model.rb:22
Zakładając, że 22 jest numerem linii danego testu. Według rails help:
$ rails test --help
Możesz uruchomić pojedynczy test, dodając numer linii do nazwy pliku:
bin/rails test test/models/user_test.rb:27
Pamiętaj również, że twój test powinien dziedziczyć z ActionDispatch:: IntegrationTest, aby to zadziałało (to był mój błąd):
class NexApiTest < ActionDispatch::IntegrationTest
.
.
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-10-30 00:53:36
In rails 5,
Użyłem tego sposobu, aby uruchomić pojedynczy plik testowy (wszystkie testy w jednym pliku)
rails test -n /TopicsControllerTest/ -v
Spójrz tutaj https://stackoverflow.com/a/41183694/3626659
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:34:30
Aby uruchomić pojedynczy test w rzeczywistym pakiecie Rails:
bundle exec ruby -I"railties/test" actionpack/test/template/form_options_helper_test.rb
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-12-20 20:15:51
To było głupie pytanie o północy. Rails wyświetla polecenie, które wykonuje rake test
. Reszta to ćwiczenie wycinania i wklejania.
~/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"
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-10-03 15:19:15
Jeśli chcesz uruchomić pojedynczy test, możesz po prostu uruchomić je jako zwykły skrypt Ruby
ruby actionmailer/test/mail_layout_test.rb
Można również uruchomić cały pakiet (np. ActiveRecord lub ActionMailer) przez cd
-wejście do katalogu i uruchomienie rake test
w nim.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-10-01 22:27:23
Najlepszym sposobem jest spojrzenie bezpośrednio w Przewodniki: 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
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-11-27 21:26:44
Najpierw uzyskaj dostęp do folderu lib, który chcesz przetestować(jest to ważne), a następnie uruchom:
~/Projects/rails/actionview (master)$ ruby -I test test/template/number_helper_test.rb
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-10-21 19:05:56