6

テスト コードをより明確にするために、Given/When/Then パターンを使用しています。私はこれらのテストを C++ で書いているので、Google Test を使用することにしました。テストを使用すると、パターンは明確になります。これは、次のように行うためです。

TEST(TestFixture, TestName)
{
    // Given
    int a = 5;
    int b = 6;
    int expectedResult = 30;

    // When
    int result = Multiply(a, b);

    // Then
    EXPECT_EQ(expectedResult, result);
}

しかし、モックでは、与えられた部分にいくつかの EXPECT が現れるため、明確ではなくなります。与えられた部分は、セットアップ ステップであると想定されます。例を見てください:

TEST(TestFixture, TestName)
{
    // Given
    int a = 5;
    int b = 6;
    int expectedResult = 30;

    MightCalculatorMock mock;

    EXPECT_CALL(mock, multiply(a,b))
        .WillOnce(Return(expectedResult));

    // When
    int result = Multiply(mock, a, b);

    // Then
    EXPECT_EQ(expectedResult, result);
}

このアプローチは正しいですか?Given/When/Then コメントをテスト コードに配置する方法は?

4

1 に答える 1