我创建了以下测试。
@Test
public void whenCreate_ThenaccountsShouldBeFound() {
account account = new account();
account.setusername("Test");
account.setfirstName("FirstName");
account.setLastName("LastName");
account.setPassword("Password");
account.setEmail("maxmuster@hs-pforzheim.de");
accountService.createaccount(account);
account a = new account();
a.setusername("Teswt");
a.setfirstName("FirstName");
a.setLastName("LastName");
a.setPassword("Password");
a.setEmail("maxmustee@hs-pforzheim.de");
accountService.createaccount(a);
accountRepository accountRepository = createniceMock(accountRepository.class);
expect(accountRepository.findAll()).andReturn(Collections.singletonList(a));
replay(accountRepository);
assertEquals("username name should be Test","Test",accountService.getallaccounts().iterator().next().getusername());
}
测试通过了,但我不知道为什么。通常,模拟方法应返回另一个对象,这将导致错误的测试结果。对我来说,模拟方法似乎不起作用,但是为什么呢?