【发布时间】:2017-10-23 22:31:51
【问题描述】:
我最近阅读并使用了下面链接的 GitHub 存储库中的一些示例,这些示例用于扩展基本的 Spring Boot 错误对象。我正在尝试为ApiError.java 类编写一些测试,特别是#addValidationErrors
基本问题是我还没有找到一种方法来链接方法以返回值以工作。我此时的测试看起来像这样......
@Test
public void addValidationErrors() {
ApiError apiError = new ApiError(HttpStatus.OK);
ConstraintViolation mockViolation = Mockito.mock(ConstraintViolation.class, Mockito.RETURNS_DEEP_STUBS);
Mockito.when(mockViolation.getRootBeanClass().getSimpleName()).thenReturn("MyBeanName");
...
此时测试在调用Mockito.when 方法的行上以NullPointerException 结束。我尝试了不同的运行器类(Mockito、JUnit4 甚至 PowerMock)以及各种注释组合,例如 @PrepareForTest,并在 @Mock 下在测试之外声明 mockViolation。
【问题讨论】:
标签: java spring unit-testing testing mockito