我正在尝试使用VertxUnitRunner运行junit测试用例。班我有35个测试用例,每次都会针对不同的测试用例并发异常。我正在与jenkins一起在VM机器上运行这些测试用例。
有人知道这个问题的解决方案吗?
@RunWith(VertxUnitRunner.class)
public class KeyMgmtMainTest {
private Environment env;
private String host;
private int port;
@Before
public void init(TestContext context) {
ApplicationContext ctx = new ClassPathXmlApplicationContext(new String[] { "xyz-abc-servlet.xml" });
vertx = Vertx.factory.vertx();
vertx.deployVerticle(new ABC1Verticle(ctx), context.asyncAssertSuccess());
vertx.deployVerticle(new ABC2VerticleTest(ctx), context.asyncAssertSuccess());
vertx.deployVerticle(new ABC3ConsumerVerticleTest(ctx), context.asyncAssertSuccess());
vertx.deployVerticle(new ABC4ConsumerVerticleTest(ctx), context.asyncAssertSuccess());
env = ctx.getBean(Environment.class);
port = Integer.parseInt(env.getProperty("http.server.port"));
host = env.getProperty("cluster.host");
}
@Test
public void testSaveDomain(TestContext context) {
final Async async = context.async();
final String token = "Bearer";
Domain domain = new Domain();
domain.setDomainName("XXX");
domain.setTenantId("YYYY.com");
domain.setCreatedBy("admin");
domain.setUpdatedBy("admin");
vertx.createHttpClient().post(port, host, "/my/url/domain").putHeader("Authorization", token)
.setChunked(true).handler(response -> {
response.bodyHandler(body -> {
context.assertEquals(200, response.statusCode());
JsonObject json = new JsonObject(body.toString());
json = json.getJsonObject("domain");
context.assertTrue(json.getLong("domainId") == 1);
context.assertTrue(json.getString("domainName").equals("Lighting"));
async.complete();
});
}).write(Json.encode(domain)).end();
}
@After
public void tearDown(TestContext context) {
vertx.close(context.asyncAssertSuccess());
}
}
每个测试用例都应该以end()结尾
public void testAbout(TestContext context) {
final Async async = context.async();
vertx.createHttpClient().get(port, host, "/about", response -> {
response.handler(body -> {
context.assertEquals(200, response.statusCode());
context.assertTrue(body.toString().contains("Hello"));
async.complete();
});
}).end();
}
我犯了愚蠢的错误。
我已经用部署verticls的@BeforeClass替换了@之前。@在为每个测试用例执行方法之前,所以它每次都在部署Verticle应该部署一次。
将“课前”改为“课前”,效果良好。无并发问题。
问题内容: 我已经在JUnit中将PowerMock和PowerRule与Mockito集成在一起。 这是我的依赖项: 我的测试课是: 正在调用我需要模拟的静态方法。当我运行测试用例时,我得到。 全栈跟踪: java.lang.RuntimeException:javassist.NotFoundException:org.powermock.core.classloader.MockClassL
我的测试类是: 调用了一个我需要模拟的静态方法。当我运行测试用例时,我得到。 全堆栈跟踪: 我甚至尝试过javassist Version15,但也有同样的问题。
问题内容: 您对我的问题有什么建议吗?我需要同时使用get和post。得到,因为我需要输出用户输入的内容。并发布,因为我需要访问与该输入相关的mysql数据库。看起来像这样: 这将根据用户将检查的内容输出mysql的内容: 这两个结合起来的形式动作将如下所示: 当我这样做时,我确实会收到很多未定义的错误。您可以建议我做些什么,以获取用户输入的值以及mysql数据。 问题答案: 执行HTTP Req
这是我的建筑。格雷德尔 因此,restTemplate抛出NullPointerException而不是返回模拟obj。
我不熟悉使用vertx,我正在使用vertx文件系统api来读取大文件。 但是RAM在读取时被消耗殆尽,资源在使用后甚至没有被刷新。vertx文件系统api还建议不要使用此方法读取非常大的文件,否则可能会耗尽可用的RAM。 除此之外还有其他选择吗?
我正在使用1个servlet和1个jsp页面制作ajax servlet响应。它已经工作了,但我总是从我的“a href”的最后一个值中获得相同的参数,该值位于c: foreach循环中。 如您所见: 在我的javascript中: 因此,我试图将参数放入变量(ajaxparameter)中,但变量始终包含最新的“a href”参数(这是有意义的,因为c:foreach)。 但是,当我悬停在“a