当我运行我的单元测试时,它们立即被终止。但是没有显示日志。(只有“启动失败”和“进程结束,退出代码255”)。测试以前工作过... JUnit 4没有给予我这个问题。测试在Maven中运行成功。我使用JUnit5 Jupiter和IntelliJ IDEA 2020.1(终极版)。有人有什么想法吗?
643ylb081#
我遇到的问题与此问题中描述的相同。解决此问题的方法是删除冲突的依赖项:
Remove similar entries -> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-engine</artifactId> <version>5.2.0</version> </dependency>
因为它已经包含在spring-boot-starter-test中了。删除显式依赖项将使SpringBoot能够为您处理依赖项之间的版本不兼容问题。
bq8i3lrv2#
@Before和@After不再存在;请改用@BeforeEach和@AfterEach。@BeforeClass和@AfterClass不再存在;请改用@BeforeAll和@AfterAll。https://junit.org/junit5/docs/current/user-guide/#migrating-from-junit4-tips
@Before
@After
@BeforeEach
@AfterEach
@BeforeClass
@AfterClass
@BeforeAll
@AfterAll
jmp7cifd3#
我也有同样的问题。唯一能解决这个问题的--我可以重现的--是这样的:**不要关闭()系统。
@Test void failure() { System.out.close(); }
让你所描述的事情发生。每当我将System.out传递给函数(这些函数稍后将.close()它们的OutputStream)时,我都会用一个新的ByteArrayOutputStream()来代替它们。
idv4meu84#
在经历了同样的情况之后,我进行了调试,结果发现测试完全执行,所有Assert都通过了。我已经设法将问题缩小到System.out.println调用,它的输出不知何故被保留,直到所有的测试都完成,并最终在IDEA声称测试被中断之前被刷新。从测试代码中删除对System.out的引用会使IDEA中的测试再次变为绿色。
System.out.println
System.out
yqlxgs2m5#
对于我来说,使用@BeforeEach和@AfterEach代替@BeforeAll和@AfterAll是有效的
5条答案
按热度按时间643ylb081#
我遇到的问题与此问题中描述的相同。解决此问题的方法是删除冲突的依赖项:
因为它已经包含在spring-boot-starter-test中了。删除显式依赖项将使SpringBoot能够为您处理依赖项之间的版本不兼容问题。
bq8i3lrv2#
@Before
和@After
不再存在;请改用@BeforeEach
和@AfterEach
。@BeforeClass
和@AfterClass
不再存在;请改用@BeforeAll
和@AfterAll
。https://junit.org/junit5/docs/current/user-guide/#migrating-from-junit4-tips
jmp7cifd3#
我也有同样的问题。
唯一能解决这个问题的--我可以重现的--是这样的:**不要关闭()系统。
让你所描述的事情发生。
每当我将System.out传递给函数(这些函数稍后将.close()它们的OutputStream)时,我都会用一个新的ByteArrayOutputStream()来代替它们。
idv4meu84#
在经历了同样的情况之后,我进行了调试,结果发现测试完全执行,所有Assert都通过了。
我已经设法将问题缩小到
System.out.println
调用,它的输出不知何故被保留,直到所有的测试都完成,并最终在IDEA声称测试被中断之前被刷新。从测试代码中删除对
System.out
的引用会使IDEA中的测试再次变为绿色。yqlxgs2m5#
对于我来说,使用
@BeforeEach
和@AfterEach
代替@BeforeAll
和@AfterAll
是有效的