-1

我为我的一种方法创建了一个单元测试,但我不知道为什么会出现这个错误。我对 Java 比较陌生,我知道当您传递的变量之一为 null 时会发生 NullPointerException 错误,但我不确定它在我的代码中的位置。任何帮助将不胜感激,谢谢!

public void testCreateProject() throws TrexException {
TrexProject project = new TrexProject();
String projectName = "CoolNewProject";
project.setTitle(projectName);
try {
  final List<TrexProject> projects = this.getTrexProjectService().findAllProjects();
  Assert.assertNotNull(projects);

  final int count = projects.size();

  project = this.getTrexProjectService().createProject("Project-" + UUID.randomUUID().toString());
  Assert.assertNotNull(project);

  final List<TrexProject> projects2 = this.getTrexProjectService().findAllProjects();
  Assert.assertNotNull(projects2);

  Assert.assertEquals(count + 1, projects2.size());
} finally {
  if (project != null) {
    this.getTrexProjectLifecycleService().deleteProject(project.getTrexProjectId());
  }
}
}
4

2 回答 2

1

我看到你测试的东西像

Assert.assertNotNull(projects)

但是如果你要测试所有东西都不为空,你还应该测试其余的,即

Assert.assertNotNull(this.getTrexProjectService())
Assert.assertNotNull(this.getTrexProjectLifecycleService())
Assert.assertNotNull(UUID)
Assert.assertNotNull(UUID.randomUUID())

此外,问题可能出在您正在调用的方法中,例如findAllProjects()等。

于 2013-06-13T16:48:11.387 回答
0

我从您对主要问题的评论中看到,您已经确定错误就在眼前this.getTrexProjectLifecycleService()。但是,由于它前面的行(即if (project != null)),很明显 project 不为空。所以问题一定this.getTrexProjectLifecycleService()是空的。

于 2013-06-13T19:43:16.300 回答