简体   繁体   English

没有为参数 [io.vertx.ext.unit.TestContext arg0] 注册 ParameterResolver

[英]No ParameterResolver registered for parameter [io.vertx.ext.unit.TestContext arg0]

I am trying to write a test case for vertx related stuff.我正在尝试为 vertx 相关的东西编写一个测试用例。

Here is my code这是我的代码

import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith;

import io.vertx.core.Vertx;
import io.vertx.core.http.HttpClient;
import io.vertx.core.http.HttpServer;
import io.vertx.ext.unit.Async;
import io.vertx.ext.unit.TestContext;
import io.vertx.ext.unit.junit.VertxUnitRunner;

@RunWith(VertxUnitRunner.class)
public class MyJUnitTest {

static Vertx vertx;
static HttpServer server;

@BeforeAll
public static void before(TestContext context) {
    Async async = context.async();
    vertx = Vertx.vertx();
    server = vertx.createHttpServer().requestHandler(req -> req.response().end("foo")).listen(8080,
            context.asyncAssertSuccess());
    System.out.println("Service started....");
    async.complete();
}

@AfterAll
public static void after(TestContext context) {
    vertx.close(context.asyncAssertSuccess());
}

@Test
public void test1(TestContext context) {
    // Send a request and get a response
    HttpClient client = vertx.createHttpClient();
    Async async = context.async();
    client.getNow(8080, "localhost", "/", resp -> {
        resp.bodyHandler(body -> {
            context.assertEquals("foo", body.toString());
            client.close();
            async.complete();
        });
    });
}}

Getting following error:得到以下错误:

org.junit.jupiter.api.extension.ParameterResolutionException: No ParameterResolver registered for parameter [io.vertx.ext.unit.TestContext arg0] in executable [public static void remoteprocess.java.samples.MyJUnitTest.before(io.vertx.ext.unit.TestContext)]. org.junit.jupiter.api.extension.ParameterResolutionException:在可执行文件 [public static void remoteprocess.java.samples.MyJUnitTest.before(io.vertx.ext) 中没有为参数 [io.vertx.ext.unit.TestContext arg0] 注册的 ParameterResolver .unit.TestContext)]。 at org.junit.jupiter.engine.execution.ExecutableInvoker.resolveParameter(ExecutableInvoker.java:191) at org.junit.jupiter.engine.execution.ExecutableInvoker.resolveParameters(ExecutableInvoker.java:174) at org.junit.jupiter.engine.execution.ExecutableInvoker.resolveParameters(ExecutableInvoker.java:135) at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:116) at org.junit.jupiter.engine.descriptor.ClassTestDescriptor.lambda$invokeBeforeAllMethods$5(ClassTestDescriptor.java:228) at org.junit.jupiter.engine.execution.ThrowableCollector.execute(ThrowableCollector.java:40) at org.junit.jupiter.engine.descriptor.ClassTestDescriptor.invokeBeforeAllMethods(ClassTestDescriptor.java:227) at org.junit.jupiter.engine.descriptor.ClassTestDescriptor.before(ClassTestDescriptor.java:151) at org.junit.jupiter.engine.descriptor.ClassTestDescriptor.before(ClassTestDescriptor.java:61) at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$execu在 org.junit.jupiter.engine.execution.ExecutableInvoker.resolveParameter(ExecutableInvoker.java:191) 在 org.junit.jupiter.engine.execution.ExecutableInvoker.resolveParameters(ExecutableInvoker.java:174) 在 org.junit.jupiter.engine .execution.ExecutableInvoker.resolveParameters(ExecutableInvoker.java:135) at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:116) at org.junit.jupiter.engine.descriptor.ClassTestDescriptor.Allfore $5(ClassTestDescriptor.java:228) 在 org.junit.jupiter.engine.execution.ThrowableCollector.execute(ThrowableCollector.java:40) 在 org.junit.jupiter.engine.descriptor.ClassTestDescriptor.invokeBeforeAllMethods(ClassTestDescriptor.java:227)在 org.junit.jupiter.engine.descriptor.ClassTestDescriptor.before(ClassTestDescriptor.java:151) 在 org.junit.jupiter.engine.descriptor.ClassTestDescriptor.before(ClassTestDescriptor.java:61) 在 org.junit.platform.engine .support.hierarchical.HierarchicalTestExecutor.lambda$execu te$3(HierarchicalTestExecutor.java:80) at org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66) at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:77) at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$null$2(HierarchicalTestExecutor.java:92) at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(Unknown Source) at java.util.stream.ReferencePipeline$2$1.accept(Unknown Source) at java.util.Iterator.forEachRemaining(Unknown Source) at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Unknown Source) at java.util.stream.AbstractPipeline.copyInto(Unknown Source) at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source) at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(Unknown Source) at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(Unknown Source) at java.util.stream.AbstractPipeline.evaluate(Unknow te$3(HierarchicalTestExecutor.java:80) 在 org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66) 在 org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.execute(HierarchicalTestExecutor) .java:77) at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$null$2(HierarchicalTestExecutor.java:92) at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(Unknown Source) at java.util.stream.ReferencePipeline$2$1.accept(Unknown Source) at java.util.Iterator.forEachRemaining(Unknown Source) at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Unknown Source) at java.util.stream.AbstractPipeline。 copyInto(Unknown Source) at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source) at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(Unknown Source) at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(未知来源)在 java.util.stream.AbstractPipeline.evaluate(Unknow n Source) at java.util.stream.ReferencePipeline.forEach(Unknown Source) at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$execute$3(HierarchicalTestExecutor.java:92) at org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66) at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:77) at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:51) at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:43) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:170) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:154) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:90) at org.eclipse.jdt.internal.junit5.runner.JUnit5TestReference.run(JUnit5TestReference.j n Source) at java.util.stream.ReferencePipeline.forEach(Unknown Source) at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$execute$3(HierarchicalTestExecutor.java:92) at org.junit.platform。 engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66) 在 org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:77) 在 org.junit.platform.engine.support。 hierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:51) 在 org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:43) 在 org.junit.platform.launcher.core.DefaultLauncher.execute( DefaultLauncher.java:170) 在 org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:154) 在 org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:90) 在 org .eclipse.jdt.internal.junit5.runner.JUnit5TestReference.run(JUnit5TestReference.j ava:86) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:538) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:760) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:460) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:206) Suppressed: org.junit.jupiter.api.extension.ParameterResolutionException: No ParameterResolver registered for parameter [io.vertx.ext.unit.TestContext arg0] in executable [public static void remoteprocess.java.samples.MyJUnitTest.after(io.vertx.ext.unit.TestContext)]. ava:86) 在 org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) 在 org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:538)在 org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:760) 在 org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:460) 在 org.eclipse .jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:206) 被抑制:org.junit.jupiter.api.extension.ParameterResolutionException:没有为参数 [io.vertx.ext.unit.TestContext arg0] 注册的 ParameterResolver在可执行文件 [public static void remoteprocess.java.samples.MyJUnitTest.after(io.vertx.ext.unit.TestContext)] 中。 at org.junit.jupiter.engine.execution.ExecutableInvoker.resolveParameter(ExecutableInvoker.java:191) at org.junit.jupiter.engine.execution.ExecutableInvoker.resolveParameters(ExecutableInvoker.java:174) at org.junit.jupiter.engine.execution.ExecutableInvoker.resolveParameters(ExecutableInvoker.java:135) at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:116) at org.junit.jupiter.engine.descriptor.ClassTestDescriptor.lambda$null$6(ClassTestDescriptor.java:242) at org.junit.jupiter.engine.execution.ThrowableCollector.execute(ThrowableCollector.java:40) at org.junit.jupiter.engine.descriptor.ClassTestDescriptor.lambda$invokeAfterAllMethods$7(ClassTestDescriptor.java:241) at java.util.ArrayList.forEach(Unknown Source) at java.util.Collections$UnmodifiableCollection.forEach(Unknown Source) at org.junit.jupiter.engine.descriptor.ClassTestDescriptor.invokeAfterAllMethods(ClassTestDescriptor.java:241) at org.junit.jupiter.engine.descriptor.ClassTestDescriptor在 org.junit.jupiter.engine.execution.ExecutableInvoker.resolveParameter(ExecutableInvoker.java:191) 在 org.junit.jupiter.engine.execution.ExecutableInvoker.resolveParameters(ExecutableInvoker.java:174) 在 org.junit.jupiter.engine .execution.ExecutableInvoker.resolveParameters(ExecutableInvoker.java:135) 在 org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:116) 在 org.junit.jupiter.engine.descriptor.ClassTestDescriptor. $6(ClassTestDescriptor.java:242) 在 org.junit.jupiter.engine.execution.ThrowableCollector.execute(ThrowableCollector.java:40) 在 org.junit.jupiter.engine.descriptor.ClassTestDescriptor.lambda$invokeAfterAllMethods$7(ClassTestDescriptor.java) :241) at java.util.ArrayList.forEach(Unknown Source) at java.util.Collections$UnmodifiableCollection.forEach(Unknown Source) at org.junit.jupiter.engine.descriptor.ClassTestDescriptor.invokeAfterAllMethods(ClassTestDescriptor.java:241)在 org.junit.jupiter.engine.descriptor.ClassTestDescriptor .after(ClassTestDescriptor.java:162) at org.junit.jupiter.engine.descriptor.ClassTestDescriptor.after(ClassTestDescriptor.java:61) at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$execute$3(HierarchicalTestExecutor.java:96) ... 27 more .after(ClassTestDescriptor.java:162) 在 org.junit.jupiter.engine.descriptor.ClassTestDescriptor.after(ClassTestDescriptor.java:61) 在 org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$execute$3( HierarchicalTestExecutor.java:96) ... 27 更多

Please help in resolving this.请帮助解决这个问题。

The problem is that you are not "wrapping" the text with vertx info.问题是你没有用顶点信息“包装”文本。

Please, check the documentation: https://vertx.io/docs/vertx-junit5/java/#_integration_with_junit_5请检查文档: https : //vertx.io/docs/vertx-junit5/java/#_integration_with_junit_5

Also you should use the annotation @ExtendWith(VertxExtension.class) instead of RunWith() to use that parameter in your methods.此外,您应该使用注释@ExtendWith(VertxExtension.class)而不是RunWith()在您的方法中使用该参数。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 Junit 5 - 没有为参数注册 ParameterResolver - Junit 5 - No ParameterResolver registered for parameter 在BeforeAll方法中没有为参数注册ParameterResolver - No ParameterResolver registered for parameter in BeforeAll method 覆盖方法但参数是arg0 - Override method but parameter is arg0 .ParameterResolutionException:没有为参数[jUnit 5 Tests]注册ParameterResolver - .ParameterResolutionException: No ParameterResolver registered for parameter [jUnit 5 Tests] org.junit.jupiter.api.extension.ParameterResolutionException:没有为参数注册ParameterResolver - org.junit.jupiter.api.extension.ParameterResolutionException: No ParameterResolver registered for parameter 在构造函数 Junit5 java 中没有为参数 XXXX 注册 ParameterResolver - No ParameterResolver registered for parameter XXXX in constructor Junit5 java 摆脱<arg0> - Getting rid of <arg0> 避免 arg0 标签 - avoiding arg0 tag setDefaultZoom(WebSettings.ZoomDensity.valueOf(arg0))的arg0是什么? - what is arg0 of setDefaultZoom(WebSettings.ZoomDensity.valueOf(arg0))? 使用Jni4net运行Bridge.LoadAndRegisterAssemblyFrom(File arg0)时发生System.IO.FileNotFoundException - System.IO.FileNotFoundException when running Bridge.LoadAndRegisterAssemblyFrom(File arg0) with Jni4net
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM