テスト コードをより明確にするために、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 コメントをテスト コードに配置する方法は?