java - 有没有办法停止多线程测试,以免在数据库端相互干扰?
问题描述
我正在为多线程微服务实现测试,我担心在数据库中进行检查的测试不会相互干扰,是否可以退出?
这些测试大部分是这样的:
@Test
@Transactional
public void createRefillOfferEvent() throws Exception {
int databaseSizeBeforeCreate = refillOfferEventRepository.findAll().size();
// Create the RefillOfferEvent
RefillOfferEventDTO refillOfferEventDTO = refillOfferEventMapper.toDto(refillOfferEvent);
restRefillOfferEventMockMvc.perform(post("/api/refill-offer-events")
.contentType(TestUtil.APPLICATION_JSON_UTF8)
.content(TestUtil.convertObjectToJsonBytes(refillOfferEventDTO)))
.andExpect(status().isCreated());
// Validate the RefillOfferEvent in the database
List<RefillOfferEvent> refillOfferEventList = refillOfferEventRepository.findAll();
assertThat(refillOfferEventList).hasSize(databaseSizeBeforeCreate + 1);
RefillOfferEvent testRefillOfferEvent = refillOfferEventList.get(refillOfferEventList.size() - 1);
//assertThat(testRefillOfferEvent.getRequestDate()).isEqualTo(DEFAULT_REQUEST_DATE);
assertThat(testRefillOfferEvent.getRequesttransactionid()).isEqualTo(DEFAULT_REQUESTTRANSACTIONID);
assertThat(testRefillOfferEvent.getMsisdn()).isEqualTo(DEFAULT_MSISDN);
assertThat(testRefillOfferEvent.getPlatform()).isEqualTo(DEFAULT_PLATFORM);
assertThat(testRefillOfferEvent.getOfferId()).isEqualTo(DEFAULT_OFFER_ID);
assertThat(testRefillOfferEvent.getOfferName()).isEqualTo(DEFAULT_OFFER_NAME);
assertThat(testRefillOfferEvent.getOfferAmount()).isEqualTo(DEFAULT_OFFER_AMOUNT);
assertThat(testRefillOfferEvent.getOfferProfileId()).isEqualTo(DEFAULT_OFFER_PROFILE_ID);
assertThat(testRefillOfferEvent.getResponseStatus()).isEqualTo(DEFAULT_RESPONSE_STATUS);
assertThat(testRefillOfferEvent.getResponseCode()).isEqualTo(DEFAULT_RESPONSE_CODE);
assertThat(testRefillOfferEvent.getResponseDescription()).isEqualTo(DEFAULT_RESPONSE_DESCRIPTION);
assertThat(testRefillOfferEvent.getInfo1()).isEqualTo(DEFAULT_INFO_1);
assertThat(testRefillOfferEvent.getInfo2()).isEqualTo(DEFAULT_INFO_2);
assertThat(testRefillOfferEvent.getInfo3()).isEqualTo(DEFAULT_INFO_3);
assertThat(testRefillOfferEvent.getInfo4()).isEqualTo(DEFAULT_INFO_4);
assertThat(testRefillOfferEvent.getInfo5()).isEqualTo(DEFAULT_INFO_5);
// Validate the RefillOfferEvent in Elasticsearch
RefillOfferEvent refillOfferEventEs = refillOfferEventSearchRepository.findOne(testRefillOfferEvent.getId());
assertThat(refillOfferEventEs).isEqualToIgnoringGivenFields(testRefillOfferEvent);
}`
这就是我得到的
失败的测试:RefillOfferEventResourceIntTest.deleteRefillOfferEvent:394 预期大小:<6> 但在:<7> 中:
解决方案
推荐阅读
- lambda-calculus - 在谈论 lambda 演算时,postcompose 是什么意思?
- bash - 如何将 terragrunt apply 的输出变量保存为常规 shell 环境变量?
- java - J2ssh 获取空输入流
- gmail - Gmail - 非对话视图中的草稿链接
- openedx - 从铁木到杜松的课程导入问题
- material-components - mdc-select 中的箭头键导航不起作用
- flutter - 退出页面颤动时保存在共享首选项中
- python - 为什么以及何时在 Pandas 中使用 append() 而不是 concat()?
- server - Weblogc 日志轮换未按预期工作
- vue.js - 在 GitHub Pages 中部署 Nuxt.js 的问题