当前位置: 首页 > 知识库问答 >
问题:

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

戚俊人
2023-03-14

我正在尝试为vertx相关的东西写一个测试用例。

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();
        });
    });
}}

获取以下错误:

请帮助解决这个问题。

共有1个答案

娄振
2023-03-14

问题是您没有用vertx信息“包装”文本。

请查看文档:https://vertx.io/docs/vertx-junit5/java/#_integration_with_junit_5

此外,您应该使用注释@extendwith(VertxExtension.class)而不是runwith()来在方法中使用该参数。

 类似资料:
  • 我可以在没有任何特殊测试框架的情况下编写和执行Selenium脚本,但我希望使用JUnit5(因为我们依赖于其他工具),并且在使用JUnit4时从未见过这样的错误。 目前它是JUnit5,我在谷歌上搜索了一些想法,但不能解决这个问题。 使用、和的测试脚本:

  • 我有一个查询,我需要过滤出结果。 这是我的查询 我得到一个错误,说注册[query]。我显然有一个筛选字段的查询。我遵循elasticsearch页面上筛选的查询文档中给出的格式。https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-filtered-query.html

  • 问题内容: 我有一个查询,我需要过滤出结果。 这是我的查询 我说错了。我显然对过滤字段有一个查询。我遵循的是Elasticsearch页面上经过过滤的查询文档中给出的格式。 https://www.elastic.co/guide/zh-CN/elasticsearch/reference/current/query-dsl- filtered- query.html 问题答案: 该查询已在ES

  • 问题内容: 我正在尝试对我的ElasticSearch Server进行此查询。 基本上,我希望检索名称中与“ network”匹配的所有产品,但仅过滤与或匹配的产品。当我执行此查询时,我收到此错误信息。 我想这里的关键是,但无法理解这里出了什么问题。 问题答案: 是查询,而不是过滤器。 在这种情况下,您可能需要-filter。

  • 我在尝试添加参考书目 MS Word不幸地没有显示这种来源作为来源。经过一些试验 问题可能是在Docx4J中,此命名空间未在NamespacePrefix Mappings类中定义。 如何添加或定义自己的名称空间前缀映射?或者我可以以某种方式强制Docx4j对部分使用特定前缀吗?任何结果是带有名称空间“b”的XML的东西对我来说都是好建议。我希望避免下载Docx4j源代码、modyfing源代码和

  • 我试图用测试将我的项目从使用JUnit4升级到JUnit5。升级后: @RunWith(VertXUnitRunner.Class)-->@ExtendWith(VertXExtension.Class) @BeforeClass-->@BeforeAll等 我的一个类在setUp方法中开始崩溃。 与此类似:没有为参数[io.vertx.ext.unit.testContext arg0]注册Pa