使用 jmock 进行模拟时 Quarkus 测试失败导致 "No code generation strategy available"
Quarkus tests fail while doing mocking with jmock resulting in "No code generation strategy available"
当 运行结合 jmock 测试我的 Quarkus 时,我 运行 进入:
java.lang.IllegalStateException: No code generation strategy available
这是我设置 jmock 的方式:
@QuarkusTest
@Tag("integration")
class MyServiceTest {
@RegisterExtension
JUnit5Mockery mockery = new JUnit5Mockery() {
{
setImposteriser(ByteBuddyClassImposteriser.INSTANCE);
setThreadingPolicy(new Synchroniser());
}
};
更糟糕的是:这一切都可以在命令行上运行,但不能在 Eclipse 中运行。
这是由于 JRE/JDK Eclipse select 对您的测试 运行。这些测试应该 运行 仅使用 JDK,大多数 Eclipse 版本附带的 JRE 将不提供服务。
所以:安装一个完整的 JDK(例如,通过使用 sdkman)并指定 & select 到 运行 您在 Eclipse 首选项的这一部分中的测试:
当 运行结合 jmock 测试我的 Quarkus 时,我 运行 进入:
java.lang.IllegalStateException: No code generation strategy available
这是我设置 jmock 的方式:
@QuarkusTest
@Tag("integration")
class MyServiceTest {
@RegisterExtension
JUnit5Mockery mockery = new JUnit5Mockery() {
{
setImposteriser(ByteBuddyClassImposteriser.INSTANCE);
setThreadingPolicy(new Synchroniser());
}
};
更糟糕的是:这一切都可以在命令行上运行,但不能在 Eclipse 中运行。
这是由于 JRE/JDK Eclipse select 对您的测试 运行。这些测试应该 运行 仅使用 JDK,大多数 Eclipse 版本附带的 JRE 将不提供服务。
所以:安装一个完整的 JDK(例如,通过使用 sdkman)并指定 & select 到 运行 您在 Eclipse 首选项的这一部分中的测试: