CppUnitでテストする順番を指定したいです。私の調査によると、テストの順序は、コンパイラまたはリンカーのいずれか、およびそれらがファイルをどのように見つけたかによって異なります。
CppUnit で依存関係を指定するにはどうすればよいですか?
たとえば、4 本の線を持つ長方形クラスを考えてみましょう。各行には 2 つのポイント クラスが含まれます。各クラスが個別のモジュールまたは翻訳単位にあると仮定します。
struct Point
{
int x;
int y;
};
struct Line
{
Point a;
Point b;
};
struct Rectangle
{
Line top;
Line left;
Line right;
Line bottom;
};
上記のコードでは、最初に Point クラスをテストし、次に Line クラス、最後に Rectangle クラスをテストする必要があります。Line クラスまたは Point クラスに問題がある場合、Rectangle クラスをテストする理由はありません。 これは非常に単純化された例です。
複合クラスの場合、内部クラスまたはメンバー データ型クラスを最初にテストする必要があります。
各クラスにテスト クラスが関連付けられていると仮定します。各テスト クラスには、個別のファイルに独自の発行済みテスト メソッド (CppUnit リストに登録されている) があります。Lines をテストするクラスには、ポイントのテスト クラスに関する知識がありません。長方形についても同様です。これらのテスト ケース クラスがコンパイルされるとき、それらの順序はコンパイラとリンカーに依存します。
では、テスト ケースをどのように注文すればよいのでしょうか。
参考までに、私は CppUnit、wxTestRunner、および Visual Studio 2008 を使用しています。