2017-12-13 25 views
0

私は、スイートにデータベース接続などが失われ、残りのテストでmysqlエラーが発生することがあるテストスイートを用意しています。私は後でそれが起こっている理由を撃つのに苦労します。しかし、今は、特定の種類のエラーがスローされたことを検出したときにrspecを高速で実行させたいと思っていました。とにかくそれを行うには、メインブロックに例外があるかどうかをチェックした後ブロックで、スペックにコマンドを送信して失敗する可能性がありますか?他のほとんどのケースでは失敗を速く使用したくありません。スペックスイート全体をプログラムで高速に処理する方法

答えて

0

raise_errorマッチャーを使用して、コードブロックでエラーが発生することを指定します。いずれかのエラーがスローされた場合、最も 基本的な形は渡し:

expect { #put your code here }.to raise_error 

このスイートは失敗しませんhttps://relishapp.com/rspec/rspec-expectations/docs/built-in-matchers/raise-error-matcher

+0

を参照してください。実際には、まったく反対です。それ以上のテストが実行されないように、特定のタイプのエラーが必要です。私の質問にはそれがはっきりしていることを願っています。 –

+0

この例のいずれかが失敗すると、さらに仕様全体が失敗するでしょうか? 同じエラーが発生しました。 – Rhunal

+0

さて、テストスイートの残りの部分は、フェイル・ファースト・モード仕様が組み込まれているように実行するべきではありませんが、組み込み条件ではなく、カスタム条件に基づいてプログラムでトリガーしたいエラーが発生した場合)。 –

関連する問題