gpt4 book ai didi

java - 如何执行 Junit 测试?

转载 作者:行者123 更新时间:2023-11-28 21:01:49 25 4
gpt4 key购买 nike

我使用 jhipster 的 Controller 生成器生成了这个测试的一部分,命令为:jhipster generate-controller NAME-CONTROLLER但我不知道如何尝试 jnit 测试,我的代码是:

     * Test class for the NotificationResource REST controller.
*
* @see NotificationResource
*/
@SpringBootTest(classes = MyApp.class)
public class NotificationResourceIT {

private MockMvc restMockMvc;

@BeforeEach
public void setUp() {
MockitoAnnotations.initMocks(this);

NotificationResource notificationResource = new NotificationResource();
restMockMvc = MockMvcBuilders
.standaloneSetup(notificationResource)
.build();
}

public static String asJsonString(final Object obj) {
try {
return new ObjectMapper().writeValueAsString(obj);
} catch (Exception e) {
throw new RuntimeException(e);
}
}

/**
* Test postNotification
*/
@Test
public void testPostNotification() throws Exception {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd.MM.yyyy");
LocalDate date = LocalDate.parse("02.11.2019",formatter);
restMockMvc.perform(post("/api/notification/post-notification")
.contentType(MediaType.APPLICATION_JSON)
.content(asJsonString(date))
)
.andExpect(status().isOk());
}
}

我正在使用 IDE Eclipse,我选择文件并在 Run as Junit 中执行 clic,这给了我下一条消息:

enter image description here

然后在控制台中出现下一个:

    java.lang.NoClassDefFoundError: org/junit/platform/commons/PreconditionViolationException
at org.eclipse.jdt.internal.junit5.runner.JUnit5TestLoader.createUnfilteredTest(JUnit5TestLoader.java:75)
at org.eclipse.jdt.internal.junit5.runner.JUnit5TestLoader.createTest(JUnit5TestLoader.java:66)
at org.eclipse.jdt.internal.junit5.runner.JUnit5TestLoader.loadTests(JUnit5TestLoader.java:53)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:525)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:763)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:463)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:209)
Caused by: java.lang.ClassNotFoundException: org.junit.platform.commons.PreconditionViolationException
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
... 7 more

我需要帮助来尝试这个测试,我会非常感谢你的帮助

最佳答案

正如其他人所说,您需要一个测试运行器。

既然你有一个@SpringBootTest,你需要一个@RunWith(SpringRunner.class)

如果您使用 JUnit5,则使用 @ExtendWith(SpringExtension.class)

关于java - 如何执行 Junit 测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59241062/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com