9

私のプロジェクトの 1 つで、複数のバックエンド システムと連携する必要があります。それらのいくつかはドキュメントがやや不足しているため、部分的には、すべてが期待どおりに機能することを確認するためだけに、いくつかのテストサーバーとやり取りするテストコードをいくつか持っています. ただし、これらのサーバーへのアクセスは非常に遅いため、テスト スイートを実行するたびにこれらのテストを実行したくありません。

私の質問は、特定のテストをスキップしたい状況にどのように対処するかです。現在、環境変数「BACKEND_TEST」と、スキップしたい各テストに対して変数が設定されているかどうかをチェックする条件ステートメントを使用しています。しかし、各テストの先頭に余分な行を追加せずに、テスト ファイル内のすべてのテストをスキップしたい場合があります。

他の状況で flexmock を使用するため、テスト サーバーと対話する必要があるテストは多くありません。ただし、現実から目を背けることはできません。

この質問のタイトルからわかるように、私は Test::Unit を使用しています。さらに、違いがあれば、そのプロジェクトは Rails プロジェクトです。

4

2 に答える 2

8

テストユニット2.xの新機能は、テストユニット2.x(ruby 1.8標準ライブラリではなくgemバージョン)でテストを省略できることを示しています。

于 2010-05-30T23:49:06.150 に答える
8

前の回答で言及されている機能には、omit()メソッドとomit_if()

def test_omission
  omit('Reason')
  # Not reached here
end

def test_omission
  omit_if("".empty?)
  # Not reached here
end

から: http://test-unit.rubyforge.org/test-unit/en/Test/Unit/TestCaseOmissionSupport.html#omit-instance_method

于 2014-04-03T01:03:40.327 に答える