我用Spring-boot-test写了一个Junit测试,在一个测试方法中,我首先准备了一些应该保存到MySQL DB的测试数据,然后我调用了目标方法,应该在100个子线程中进行测试来测试目标方法是否在并发中运行良好.此测试方法如下所示:
public class SysCodeRuleServiceImplTest extends BaseServiceTest {
@Autowired
private SysCodeRuleService sysCodeRuleService;
@Autowired
private SysCodeRuleDtlService sysCodeRuleDtlService;
private final String codeRuleNo = "sdkfjks443";
@Test
public void testCreateSheetIdWithoutUniformedSerial_2() throws InterruptedException {
//------ prepare test data start-----------
SysCodeRule sysCodeRule = new SysCodeRule();
sysCodeRule.setCodeRuleNo(codeRuleNo);
sysCodeRule.setIfDateCode(1);
sysCodeRule.setPadChar("0");
sysCodeRule.setSerialDigits(6);
sysCodeRule.setResetMode(1);
sysCodeRule.setIfUniteSerial(0);
sysCodeRule.setIfCache(0);
sysCodeRule.setConstValue("PETREL");
sysCodeRule.setStatus(1);
sysCodeRule.setName(codeRuleNo);
sysCodeRule.setCurSerialNo("0");
sysCodeRule.setCurSerialDate(new Date());
sysCodeRule.setCreateTime(new Date());
sysCodeRule.setCreator("??");
sysCodeRule.setDateCutBeginPosition(3);
sysCodeRule.setDateCutEndPosition(8);
boolean insertSysCodeRuleSucc = sysCodeRuleService.insert(sysCodeRule);
assertThat(TestMessageConstants.PREPARE_TEST_DATA_FAILED, insertSysCodeRuleSucc);
assertThat("", sysCodeRule.getId(), notNullValue());
SysCodeRuleDtl sysCodeRuleDtl1 = new SysCodeRuleDtl();
sysCodeRuleDtl1.setSysCodeId(sysCodeRule.getId() + "");
sysCodeRuleDtl1.setOrderNo(1);
sysCodeRuleDtl1.setFieldValue("locno");
sysCodeRuleDtl1.setCutEndPosition(0);
sysCodeRuleDtl1.setCutBeginPosition(0);
sysCodeRuleDtl1.setCreateTime(new Date()); …Run Code Online (Sandbox Code Playgroud)