第一次玩 IntelliJ IDEA 社区版,这是我第一次使用它,所以如果我遗漏了什么,请原谅。
我有一堆我运行的单元测试,但是,当在 IntelliJ 中运行它们时(使用开箱即用的标准设置),我间歇性地在控制台中出现以下错误:
03:14:17 启动失败:58个通过,1个未启动
我在网上搜索过,但无济于事。如果我只运行失败的测试,它可能会或可能不会打印出类似的错误:
03:19:54 启动失败:0通过,1未启动
如果我继续尝试,最终它会起作用并告诉我我所有的测试都已通过。
图像不是感叹号错误,它是一个不同的错误图标(),我不认识。事件日志窗口中的错误显示为红色文本。
它似乎总是只发生在一个测试中,并且对于任何给定的一组测试,它总是相同的测试。 IE。在不同的项目中,同样的问题也出现了,但是对于不同的测试(但它在每个项目或一组测试中总是相同的)。
还有一点需要注意的是,这只发生在调试时而不是运行时,所以这可能与连接调试器有关?
Eclipse 一切正常。
知道是什么原因造成的吗?
我的问题是 Failed to start: 1, passed: 0 。我使用 Spring Boot 2.4.0 和 Junit5 来测试控制器类。我刚刚注释掉了 junit-jupiter-engine 依赖项中的版本标签。然后它起作用了。真奇怪。它可能对某人有帮助。
我得到了同样的错误。发送给
System.out
的东西很奇怪,使 IntellJ IDEA 测试“未开始”。
我已经为IntelliJ IDEA创建了一个ticket,如果您仍然遇到这个问题,可以投票给它。
当您将 scalamock 的
MockFactory
与 scalatest 的AsyncFlatSpec
混合使用时,scala 代码有时会发生类似的错误。
所以,一定要像下面那样使用
AsyncMockFactory
。
class ExampleSpec extends AsyncFlatSpec with AsyncMockFactory
就我而言,问题出在 pom.xml 中。 我从完整的工作应用程序转移到 spring-boot 实现,并且只在依赖项中导入 spring-boot-starter-test 进行测试。
我通过从 spring-boot-starter-test 中排除 junit 部分并在单独的块中添加最新版本的 junit 依赖来解决。
看起来这可能是 IntelliJ 上的一个错误,它已经被他们提出了。
我遇到了这个问题(在 Android Studio 中,但它是一个定制的 IntelliJ),原因是当我使用 CTRL-SHIFT-F10 运行测试时光标所在的位置。
@Parameterized.Parameters
public static Collection data()
一旦我将光标移动到测试方法中或不在任何方法中,它就起作用了。
我有同样的问题。无论
scenarios
的数量是多少,它都在scenario
阶段显示了1个额外的NOT STARTED
。我正在使用 Scenario Outline 来运行测试,并评论了Example tables
.中的行
我后来发现评论整个示例表(我不想运行)解决了这个问题,而不是评论每一行。
我在 IntelliJ IDEA 2017.2.1 中遇到了同样的问题,这让我有点崩溃。测试用例运行时没有任何可识别的错误或异常,但最终 JUnit 声称该用例未启动。
弄清楚这是由于尝试打印到已经关闭的 PrintWriter 引起的。
在我的例子中,我试图 mock 一个具有 public static 方法 的类。当一切都从静态上下文中解放出来时,问题就解决了。
在尝试测试调用
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 根据需要启动。
如果对您有帮助,请随时重复使用。我不主张任何这些代码行的所有权或版权。
在我的例子中,我将 AsyncMockFactory 与 AnyWordSpecLike 混合使用,这导致我的所有测试都被静默跳过。更改为 AsyncWordSpecLike 解决了它。
显然有一个修复程序,如果你不正确地混合它们会导致代码无法编译,但截至今天它还没有进入 ScalaMock 版本: