2017-05-10 49 views
9
~/Sites/sample_app$ rails test 
Running via Spring preloader in process 24338 
Run options: --seed 58780 

Running: 

.. 

Finished in 0.292172s, 6.8453 runs/s, 6.8453 assertions/s. 
/var/lib/gems/2.3.0/gems/railties-5.1.0/lib/rails/test_unit/minitest_plugin.rb:9:in `aggregated_results': wrong number of arguments (given 1, expected 0) (ArgumentError) 

Nie rozumiem, dlaczego otrzymuję ten błąd. Nie mogę znaleźć nikogo z tym konkretnym błędem. Śledzę samouczek: https://www.railstutorial.org/book/static_pages. Ten błąd jest zgodny z poleceniem testu szyn. Uruchamianie Ubuntu i szyn 5.1, jeśli to pomaga. Nie przekazuję żadnych argumentów, więc nie rozumiem, dlaczego dostaję tego błędu.minitest_plugin.rb: 9 uzyskanie błędnej liczby argumentów

Mój plik testowy wygląda następująco:

require 'test_helper' 

    class StaticPagesControllerTest < ActionDispatch::IntegrationTest 

    test "should get home" do 
     get static_pages_home_url 
     assert_response :success 
    end 

    test "should get help" do 
     get static_pages_help_url 
     assert_response :success 
    end 

Odpowiedz

19

To jest właściwie błąd w szynach, ujawniony przez minimalną aktualizację do wersji 5.10.2, jak podano here i został już naprawiony here.

Ponieważ żądanie pobrania ma tylko 10 godzin (w chwili pisania), nie zostało jeszcze wydane, mimo że zostało już scalone.

W tym czasie, można określić w swojej Gemfile:

gem 'minitest', '~> 5.10', '!= 5.10.2' 

Edycja

Nie zapomnij bundle update minitest

2

Okazuje się, że w moim testowym/test_helper.rb Potrzebowałem linii kodu, który zaginął. Dodałem to przed "class ActiveSupport :: TestCase".

Minitest::Reporters.use! 

Dało mi to wynik pozytywny dla mojego testu bez dziwnego błędu argumentu. Mam nadzieję, że to pomoże komuś w przyszłości!

0

ja również napotkał ten błąd. Próbowałem użyć najlepszego rozwiązania, ale railsy powiedziały mi, że pakiet zablokował minitest do wersji 5.10.2. Zamiast tego po prostu zrobiłem gem update minitest i moje testy przebiegły bez dziwnego błędu.

+0

Jeśli zmieniłeś tylko MiniTest klejnot w Gemfile, spróbuj go zaktualizować za pomocą 'bundle update --source minitest' – tschoppi

+0

OP: po prostu przeczytaj wiadomość dostarczoną przez ciebie, powiedz, żeby użyć' bundle update' do zmiany zablokowanej wersji ... – Geoffroy

4

Hej robię dokładnie ten samouczek, a następnie najlepszym rozwiązaniem i to naprawić mój problem, a konkretnie (dla nas łącznie noobs) zrobiłem to do mojego Gemfile

group :test do 
    gem 'rails-controller-testing', '0.1.1' 
    gem 'minitest-reporters',  '1.1.9' 
    gem 'guard',     '2.13.0' 
    gem 'guard-minitest',   '2.4.4' 
    gem 'minitest', '~> 5.10', '!= 5.10.2' # add this here to fix error 
end