在每一本书中,单元测试都应该在断言/验证部分只检查一件事。同时有一个像下面这样的例子
@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) ”)。在一个测试中混合两个验证是否干净?你怎么看?或者它应该分成两个测试?