第一次玩IntelliJ IDEA社区版时,我第一次使用它,所以如果我错过了什么,请原谅。
我运行了一系列单元测试,然而,当它们在IntelliJ中运行时(标准设置开箱即用),我在控制台中间歇性地收到以下错误:
03:14:17无法启动:58通过,1未启动
我在网上搜索但无济于事。如果我只运行失败的测试,它可能会或可能不会打印出类似的错误:
03:19:54无法启动:0通过,1未启动
如果我继续尝试,最终它会起作用并告诉我所有测试都已通过。
图像不是错误的感叹号,它是一个不同的错误图标(),我不认识。 “事件日志”窗口中的错误显示为红色文本。
它似乎总是只发生一次测试,对于任何给定的测试集,它总是相同的测试。 I.E.在另一个项目中,同样的问题也会出现,但对于不同的测试(但在每个项目或一组测试中它总是相同的)。
还有一点需要注意的是,这只在调试时发生,而不是在运行时发生,所以它可能与连接调试器有关吗?
这一切都与Eclipse完美配合。
任何可能导致此问题的想法?
非常感谢!
答案 0 :(得分:6)
我得到了同样的错误。这是一个奇怪的发送到System.out,使IntellJ IDEA测试“未启动”。
答案 1 :(得分:1)
我为IntelliJ IDEA创建了ticket,如果您仍然遇到此问题,可以投票支持。
答案 2 :(得分:1)
就我而言,问题出在pom。 我从完整的工作应用程序迁移到spring-boot实施,仅导入依赖项的spring-boot-starter-test进行测试。
我通过从spring-boot-starter-test中排除junit部分来解决,并在单独的块中添加了最新版本的junit依赖项。
答案 3 :(得分:1)
对我来说,问题是无法启动:1,通过:0 。我使用带有Junit5的Spring Boot 2.4.0来测试Controller类。我只是在junit-jupiter-engine依赖项中注释了version标签。然后它起作用了。真的很奇怪这可能对某人有帮助。
答案 4 :(得分:0)
看起来这可能是IntelliJ上的一个错误,它已经被提出来了。
答案 5 :(得分:0)
我遇到了这个问题(在Android Studio中,但它是一个自定义的IntelliJ),原因是当我使用CTRL-SHIFT-F10运行测试时光标所在的位置。
@Parameterized.Parameters
public static Collection data()
一旦我将光标移动到测试方法中或不在任何方法内,它都有效。
答案 6 :(得分:0)
我有同样的问题。无论scenarios
的数量是多少,它在scenario
阶段都会显示1个额外NOT STARTED
。我使用Scenario Outline来运行测试,并对Example tables
中的行进行了评论。
我后来发现评论整个示例表(我没有想要运行)解决了问题而不是评论每一行。
答案 7 :(得分:0)
就我而言,我试图模拟一个具有公共静态方法的类。当一切都从静态上下文中解放出来时,问题解决了。
答案 8 :(得分:0)
当您将 sclamock 的 MockFactory
与 scalatest 的 AsyncFlatSpec
混合时,scala 代码有时会发生类似的错误。
因此,请务必使用如下所示的 AsyncMockFactory
。
class ExampleSpec extends AsyncFlatSpec with AsyncMockFactory
答案 9 :(得分:0)
当我尝试测试调用 System.exit(1)
的代码时,我没有开始测试。在我删除了这样的退出行为之前,IntelliJ 不会开始我的测试:
起初我替换了代码中的所有直接行
System.exit(1)
到
onFailure.run();
与
unnable onFailure = () -> System.exit(1);
在代码本身中。在测试代码中,我用可测试的模拟 Runnable 替换了 Runnable
Runnable mockOnFailure =
() -> {
throw new CustomError(
"Some descriptive message here.");
};
并且比我预期的错误会像这样抛出(使用 AssertJ 进行漂亮的断言语句)
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
assertThatExceptionOfType(CustomError.class).isThrownBy(
() -> {
callingCodeThatCallsOnFailure();
}
);
现在所有测试都由 IDE 根据需要启动。
如果对您有帮助,请随意重复使用。我不要求任何这些代码行的所有权或版权。