2016-09-05 1 views
0

Minitest 52 Sekunden dauern 3 Tests ausführen, können Sie mir zu diagnostizieren und korrigieren, um die Verzögerung helfen:Warum läuft Minitest so langsam für mich?

time bin/rake test 
Running via Spring preloader in process 6302 
Run options: --seed 53674 

# Running: 

... 

Finished in 0.981134s, 3.0577 runs/s, 3.0577 assertions/s. 

3 runs, 3 assertions, 0 failures, 0 errors, 0 skips 


real 0m52.954s 
user 0m0.431s 
sys 0m0.148s 

nichts falsch mit den Tests, ich denke, es ist ein Test Config Problem ist? Prüfregeln hier:

eigentlichen Tests hier:

require 'test_helper' 

class StaticPagesControllerTest < ActionDispatch::IntegrationTest 
    test "should get home" do 
    get static_pages_home_url 
    assert_response :success 
    assert_select "title", "Home | Ruby on Rails Tutorial" 
    end 

    test "should get help" do 
    get static_pages_help_url 
    assert_response :success 
    assert_select "title", "Help | Ruby on Rails Tutorial" 
    end 

    test "should get about" do 
    get static_pages_about_url 
    assert_response :success 
    assert_select "title", "About | Ruby on Rails Tutorial" 
    end 

end 

Ich lief spring stop, aber das hat die Dinge nicht in irgendeiner Weise beschleunigt.

Ich beachte, dass meine App kein Verzeichnis spring hat.

+2

Nur 3 Behauptungen ... Zeigen Sie uns Ihre Tests. – fbelanger

Antwort

0

Dies scheint eher wie ein ActionController::TestCase nicht ein ActionDispatch::IntegrationTest.

Dies sollte test/controllers/static_pages_controller_test.rb sein. Könnte die Verwendung von IntegrationTest sein, da dies normalerweise für komplexere Interaktionen reserviert ist und viele weitere Funktionen enthält.

An integration test spans multiple controllers and actions, tying them all together to ensure they work together as expected. It tests more completely than either unit or functional tests do, exercising the entire stack, from the dispatcher to the database.

diesen Code Versuchen Sie stattdessen:

class StaticPagesControllerTest < ActionController::TestCase 
    # ... 
end 

EDIT

ich einen einzigen sehr einfachen Test Vergleich lief und kam ziemlich kurz auf. Scheint mir nicht so, als würde es einen so dramatischen Unterschied verursachen.

# Running tests: 

. 

Finished test in 0.605962s, 1.6503 tests/s, 4.9508 assertions/s. 

1 tests, 3 assertions, 0 failures, 0 errors, 0 skips 

Versus

# Runnnig tests: 

. 

Finished tests in 0.297522s, 3.3611 tests/s, 10.0833 assertions/s. 
1 tests, 3 assertions, 0 failures, 0 errors, 0 skips 

noch in der Nähe mehr zu 3-mal bei der Verwendung von ActionDispatch::IntegrationTest.

Es ist in Ihrem Fall auch seltsam, weil dies statische Seiten sind.

Gibt es Änderungen an test_helper.rb? Wenn ja, kannst du es uns zeigen?

+0

Versuchen Sie, reinen Text als einfachen Text zu senden und nicht als Bild, das niemand lesen kann. – tadman

+0

Das Wechseln zu 'ActionController :: TestCase' führt zu einem' ActionController :: UrlGenerationError: 'Fehler. Ich frage mich, ob dies ein Leistungsproblem ist, irgendwelche Hinweise, wie Sie dieses Leistungsproblem eingrenzen können? – jbk

+1

Die Fehler, die Sie sehen, haben mit Ihren URL-Pfaden zu tun. Anstatt 'get static_pages_about_url' zu versuchen, versuche etwas wie' get: about'. Aktivieren Sie diese Funktion, um das Leistungsproblem einzugrenzen. Ansonsten gibt es Unmengen anderer Dinge: https://blog.codeship.com/faster-rails-tests/ – fbelanger