2012-10-05 6 views
6

Googleテストフレームワークを初めて使用していて、それを最大限に活用するために多くの資料を使用しています。Googleテストフレームワーク - テストケース間の依存性

条件付きで実行できるようにテストケース間の関係を指定/指定できる方法はありますか?私は2つのテストを持っていると言うことができます。最初のテストが成功した場合にのみ、2回目のテストを実行できますか?私はそれが 'ユニット'のテストの元のルールに該当するかどうかは確かではありませんが、可能かどうか疑問に思っていました。

+1

は、あなただけの "conditionaltestcases" タグを作成しましたか?質問はテストフレームワークの設計に入るのでかなり面白いですが、あなたが熟考すると、そのようなことは実際にベストプラクティスのテストに違反します。テストは独立しているはずです。私はこの1つの質問のためだけにそのタグが必要なのかどうかはわかりません。 –

+0

ええ、私はこれが実際問題として述べたように「ユニット」テストではないと考えました。しかし、私が言ったように、ちょうど不思議だった。タグを削除しました。それがそこになければそれを作り出すことを知らなかった。より具体的にしようとしていただけです – vpram86

+0

それはいいです、それはまだ良い質問です。私は答えは分かりませんが、うまくいけば他の誰かがそうします。前のテストが失敗した場合に1つのアサートを試みるために、同じテストケース内で複数のアサートを使用して、何をしようとしているのかをシミュレートできます。私はそれがあなたの質問に対する正確な答えではないことを知っています。これはテストケースレベルでしたが、近いかもしれません。それは良い習慣ではありませんが、理論的な関心事です。 –

答えて

1

ソースで行う方法はありません。可能な解決策は、シェルスクリプトを使用し、フィルターを使用してテストを実行することです。

Pythonの例:

from subprocess import call 

def runTest(pattern): 
    return call(['test', '--gtest_filter=%s' % pattern]) 

if runTest('FirstPriorityTestPattern') == 0: 
    return runTest('SecondPriorityTestPattern') 
return 1 
関連する問題