@RunWith 未在 JUnit5 中编译

@RunWith not compiling in JUnit5

我的项目是用 JUnit 5 设置的,我想为我的测试使用不同的 Runner,但我什至不能使用 @RunWith 注释,因为它无法编译。在本指南中,https://www.baeldung.com/junit-5-runwith,它说 RunWith 应该仍然可以在 JUnit 5 中工作,所以我很困惑为什么它甚至不能编译。
即使 https://junit.org/junit5/docs/current/user-guide/#writing-tests-dependency-injection 也有一个使用 RunWith 的例子,如果你向下滚动一点:
Using @RunWith(JUnitPlatform.class) will output all reported entries to stdout.
那么为什么我的代码不能编译呢?我是不是误会了什么?

运行 gradlew 构建:

TestGameController.java:12: error: cannot find symbol
@RunWith(CacioTestRunner.class)
 ^
  symbol: class RunWith

JB Nizet 在评论中回答了我的问题。

RunWith is a JUnit 4 annotation. See its package: org.junit.runner.RunWith. There is no "jupiter" in the package. The "equivalent" in JUnit 5 is ExtendWith, which expects a JUnit 5 extension class as argument. You'll need to add a dependency on JUnit 4, write the test with the JUnit 4 API, and use the vintage engine of JUnit 4 if there is no CacioExtension class.

我也遇到了同样的问题,通过添加 @ExtendWith(MockitoExtension.class) 注释在 @RunWith 注释之前。