3

出力インターフェイスに出力する前にデータのスタイルを設定する一連の出力スタイラー クラスをテストしています。各スタイラーの動作は、出力されるオブジェクトに関して最大​​ 5 つの異なる条件 (現時点では、6 つ目の条件が準備中) に依存します: isKey、isDefault、isEmpty、isReadOnly、isAccessible

そのため、あるスタイラーに読み取り専用データがある場合は何も出力されず、別のスタイラーは「アクセスが拒否されました」と表示される場合があります。

現時点では、これらの線に沿ってテストしていますが、条件が追加されるにつれて、テストは爆発的に増加しています。

{
    //  isKey, isDefault, isEmpty, isReadOnly, isAccessible
    ValueOutputTester::TestConditions conditions = {0, 0, 0, 0, 0};
    EXPECT_EQ(valueOutputTester(conditions), accessDeniedOutput);
}
{
    ValueOutputTester::TestConditions conditions = {0, 0, 0, 0, 1};
    EXPECT_EQ(valueOutputTester(conditions), normalOutput);
}
{
    ValueOutputTester::TestConditions conditions = {0, 0, 0, 1, 0};
    EXPECT_EQ(valueOutputTester(conditions), accessDeniedOutput); 
}
{
    ValueOutputTester::TestConditions conditions = {0, 0, 0, 1, 1};
    EXPECT_EQ(valueOutputTester(conditions), accessDeniedOutput);
}
{
    ValueOutputTester::TestConditions conditions = {0, 0, 1, 0, 0};
    EXPECT_EQ(valueOutputTester(conditions), emptyOutput);
}
...

これを行うためのより良い方法をお勧めできますか?

4

1 に答える 1