どの本にも、単体テストでは assert/verify セクションで 1 つのことだけをチェックする必要があると書かれています。そして同時に、以下のような例があります
@Test
public void shouldReturnSomethingAndExecuteExternalComponent(){
// Given
ExternalComponent externalComponent = EasyMock.createStrictMock(ExternalComponent.class);
configureMock(externalComponent);
// When
Result result = objectUnderTest.foo();
//Then
Result expectedResult = ...
Assert.assertEquals(expectedResult, result);
externalComponent.verify();
}
この場合、動作がチェックされ (externalComponent の実行 - externalComponent.verify() )、テスト後のオブジェクトの状態がチェックされます (" assertEquals(expectedResult, result) ")。1 つのテストに 2 つの検証が混在しているのはクリーンですか? どう思いますか?それとも、2 つのテストで分割する必要がありますか?