2015-05-07 70 views
1

我正在使用Minitest with Rails。Minitest首次失敗時退出?

如果我正在運行一堆測試,如何在第一次失敗時退出?我在編寫測試時希望發生這種情況,因爲後面的測試在失敗之後運行是浪費時間。

+0

你可以只瞄準具體的測試?所以如果你有一個紅色的,你可以運行特定的測試,直到它是綠色的? – abbott567

+0

@vgoff我正在運行Rails 4.1.6。我看到RSpec有一個'fail_fast'選項,所以我基本上想知道'Test :: Unit'是否有類似的選項。 –

+0

當你說Test :: Unit時,不確定你正在使用哪個庫。你的意思是最小的?我想現在,Ruby版本也會有幫助,因爲現在你真的不是在討論Rails和Ruby以及庫。 – vgoff

回答

0

您可以使用minitest-fail-fast寶石。報告失敗後,您還可以將Minitest記者引擎修改爲exit

0

我找到這個答案,而尋找解決方案,但至少在Rails的5.1你有一個選項:

rails test -h Usage: bin/rails test [options] [files or directories] 

You can run a single test by appending a line number to a filename: 

    bin/rails test test/models/user_test.rb:27 

You can run multiple files and directories at the same time: 

    bin/rails test test/controllers test/integration/login_test.rb 

By default test failures and errors are reported inline during a run. 

Rails options: 
    -w, --warnings     Run with Ruby warnings enabled 
    -e, --environment    Run tests in the ENV environment 
    -b, --backtrace     Show the complete backtrace 
    -d, --defer-output    Output test failures and errors after the test run 
    -f, --fail-fast     Abort test run on first failure or error 
    -c, --[no-]color     Enable color in the output 

所以你就只需要運行rails test -f