Mri*_*jay 7 java junit spring-test cassandra
我们正在使用MockMvc Framework来使用JUnit测试Spring Controllers.控制器返回一个DefferedResult
.
在mockmvc.perform
看起来像波纹管
mockMvc.perform(post("/customer")
.accept(APPLICATION_JSON)
.header(AUTH_TOKEN_KEY, "xyz")
.header(FROM_KEY, "email@gmail.com")
.content(json)
.contentType(APPLICATION_JSON))
.andExpect(status().isOk())
.andExpect(request().asyncStarted());
Run Code Online (Sandbox Code Playgroud)
这需要很多时间.我们正在使用嵌入式cassandra,因此需要花费很多时间.
我也尝试了这个,但它也一样.
MvcResult mvcResult = mockMvc.perform(post("/customer")
.accept(APPLICATION_JSON)
.header(AUTH_TOKEN_KEY, "xyz")
.header(FROM_KEY, "email@gmail.com")
.content(json)
.contentType(APPLICATION_JSON))
.andReturn();
mockMvc.perform(asyncDispatch(mvcResult))
.andExpect(status().isOk())
.andExpect(request().asyncStarted());
Run Code Online (Sandbox Code Playgroud)
我有数百个测试,因为构建过程非常慢.
有没有办法,使用JUnit我可以说执行请求并等待另一个线程中的响应来断言结果,或者任何其他加速它的好方法.
谢谢
正如我在问题中提到的我们正在使用嵌入式 cassandra,因此需要花费大量时间。
我尝试查看cassandra.yaml
文件中的内容并更改了下面的行。
commitlog_sync_batch_window_in_ms: 90
Run Code Online (Sandbox Code Playgroud)
到
commitlog_sync_batch_window_in_ms: 1
Run Code Online (Sandbox Code Playgroud)
仅此而已,构建时间从 30 分钟减少到 2 分钟。
来自 cassandra.yaml 评论:-
commitlog_sync_batch_window_in_ms
在执行同步之前,它将等待其他写入长达几毫秒。
减少这个时间后,等待时间和构建时间都减少了。
归档时间: |
|
查看次数: |
1128 次 |
最近记录: |