Java 为什么这个简单的JUnit5测试不起作用

Java 为什么这个简单的JUnit5测试不起作用,java,exception,junit5,Java,Exception,Junit5,我正在使用JUnit5。当我调试时,我可以看到我的代码正在从实现中抛出FileStorageException异常。但它给出了以下错误信息:- org.mockito.exceptions.misusing.UnnecessaryStubbingException: 检测到不必要的存根。 干净且可维护的测试代码不需要任何不必要的代码。 以下存根是不必要的(单击导航到相关代码行): 1. -> 在com.spark.profile.service.ProfileServiceImplTest.te

我正在使用JUnit5。当我调试时,我可以看到我的代码正在从实现中抛出FileStorageException异常。但它给出了以下错误信息:-

org.mockito.exceptions.misusing.UnnecessaryStubbingException: 检测到不必要的存根。 干净且可维护的测试代码不需要任何不必要的代码。 以下存根是不必要的(单击导航到相关代码行): 1. -> 在com.spark.profile.service.ProfileServiceImplTest.testThrowFileStorageExceptionWhenNull(ProfileServiceImplTest.java:67)上 请删除不必要的存根或使用“宽大”严格。更多信息:javadoc用于不必要的StubbingException类

怎么了?如何通过JUnit5测试此异常

    @Test
void testThrowFileStorageExceptionWhenNull() {
    // act
    when(profileService.storeFile(null, null)).thenReturn(null);
    //assert
    assertThrows(FileStorageException.class,
            () -> {
                profileServiceImpl.storeFile(null, null);
            }
    );
}

不必要的StubbingException意味着您已经模拟了甚至没有被调用的东西的返回。在您的情况下,这是
when(profileService.storeFile(null,null))。然后返回(null)。删除该行应该可以解决您的问题。

不必要的StubbingException意味着您模拟了甚至没有被调用的内容的返回。在您的情况下,这是
when(profileService.storeFile(null,null))。然后返回(null)。删除该行可以解决您的问题