-1
我在Administrator.java中写了一个方法deleteProject(Project project),它将项目设置为null。在此之后,我尝试编写一个调用deleteProject(Project project)方法的测试方法,并检查Object项目== null。不是这种情况。我已将3个system.out.println(项目)放入方法中。如果查看输出项目,在deleteProject(Project项目)中将项目设置为null,但由于某些原因,它仍然以AdministratorTest打印。JUnit test删除方法Object设置为null后不为空
我不明白为什么项目不保留为空。
AdministratorTest.java
@Before
public void setUp() throws Exception {
admin1 = new Administrator("Sponge", "Bob", "Squarepants", "Spongy");
project = admin1.createProject(new VersionID(2, 3), "ProjectX", "Secret", new Date(93, 10, 17));
}
@After
public void tearDown() throws Exception {
admin1 = null;
project = null;
}
@Test
public void testDeleteProject() {
assertEquals("2.3", project.getVersion().toString());
assertEquals("ProjectX", project.getName());
assertEquals("Secret", project.getDescription());
assertEquals("Wed Nov 17 00:00:00 CET 1993", project.getStartDate().toString());
admin1.deleteProject(project);
System.out.println(project);
assertNull(project);
}
Administrator.java
public void deleteProject(Project project) {
System.out.println(project);
project = null;
System.out.println(project);
}
输出
[email protected]
null
[email protected]