我是单元测试的新手,我不断听到很多东西被抛出的"模拟对象".通俗地说,有人可以解释什么是模拟对象,以及在编写单元测试时它们通常用于什么?
我在Assertionerror中的期望值和实际值都显示相同的内容。它们是相同的参考。有人知道为什么以及如何解决吗?下面的代码和错误。提前致谢:
@Test
public void test_CreateAUserWritesAFileReadsFilePrintsFile() throws IOException {
//Arrange
WriteCommand fwc = new FileWriteCommand();
ReadCommand frc = new FileReadCommand();
RegistrationController rc = new RegistrationController();
User user = new User("Jerry", "123", "Engineer");
rc.registerNewUser("Jerry", "123", "Engineer");
fwc.writeUser(user);
User one = frc.readUser("Jerry");
System.out.println(one);
User expected = one;
//Act
User actual = user;
//Assert
assertEquals(expected, actual);
}
Run Code Online (Sandbox Code Playgroud)
错误
java.lang.AssertionError: expected: com.fdmgroup.userregistration.User<User [username=Jerry, password=123, role=Engineer]> but was: com.fdmgroup.userregistration.User<User [username=Jerry, password=123, role=Engineer]>
Run Code Online (Sandbox Code Playgroud)