IntelliJ - 无法启动:0通过,1未启动

时间:2012-06-23 02:22:49

标签: java unit-testing ide intellij-idea

第一次玩IntelliJ IDEA社区版时,我第一次使用它,所以如果我错过了什么,请原谅。

我运行了一系列单元测试,然而,当它们在IntelliJ中运行时(标准设置开箱即用),我在控制台中间歇性地收到以下错误:

  

03:14:17无法启动:58通过,1未启动

我在网上搜索但无济于事。如果我只运行失败的测试,它可能会或可能不会打印出类似的错误:

  

03:19:54无法启动:0通过,1未启动

如果我继续尝试,最终它会起作用并告诉我所有测试都已通过。

图像不是错误的感叹号,它是一个不同的错误图标(error icon),我不认识。 “事件日志”窗口中的错误显示为红色文本。

它似乎总是只发生一次测试,对于任何给定的测试集,它总是相同的测试。 I.E.在另一个项目中,同样的问题也会出现,但对于不同的测试(但在每个项目或一组测试中它总是相同的)。

还有一点需要注意的是,这只在调试时发生,而不是在运行时发生,所以它可能与连接调试器有关吗?

这一切都与Eclipse完美配合。

任何可能导致此问题的想法?

非常感谢!

10 个答案:

答案 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 根据需要启动。

如果对您有帮助,请随意重复使用。我不要求任何这些代码行的所有权或版权。