集成测试场景

2019-11-19  本文已影响0人  梦想又照进现实

一、哪些要写集成测试

我们的代码一般分成,Controller(接口层),ApplicationService(应用服务层),Service(领域服务层),Repository(基础设施层)

其中,ApplicationService(应用服务层),Service(领域服务层)是需要写集成测试(组件测试)的。

二、集成测试写在哪

在src的main同级目录下,创建intergrationtest,用来放集成测试的案例

三、集成测试代码的命名规范

方法名一般都是when(当)什么什么时候then(然后)怎么怎么样。交代一下做了什么,有什么结果

四、如何写集成测试代码

@RunWith(SpringRunner.class) //JUnit4
//@ExtendWith(SpringExtension.class) //JUnit5
@SpringBootTest
public class HbHlsAppServiceImplIT {

    // 待测试的领域服务
    @Autowired
    private IHbHlsAppService hbHlsAppService;

    @Autowired
    private JdbcHelper jdbcHelper;

    private Map<String, String> oldData;

    private HlsAppInf resultHlsAppInf;

    @Before
    public void setData(){
        // given
        oldData = new HashMap<>();
        oldData.put("cmpNam", "网络科技123");

        resultHlsAppInf = new HlsAppInf();
        resultHlsAppInf.setCmpNam("网络科技");
        resultHlsAppInf.setCmpNamAa("网");
        resultHlsAppInf.setCmpNamAb("络科技");
    }

    @Test
    public void changeAndCheck_when转值检核then存入相应的数据(){
        // when
        HbHlsApp hbHlsApp = hbHlsAppService.changeAndCheck(oldData);

        // then 通过测试的jpa代码查询转值后的数据
        HlsAppInf byAppNbr = jdbcHelper.findByAppNbr(hbHlsApp.getAppNbr());

        resultHlsAppInf.setAppNbr(hbHlsApp.getAppNbr());
        // 通过判定查出来的数据和转值后的数据是否每个栏位都一致
        assertThat(resultHlsAppInf).isEqualToComparingFieldByField(byAppNbr);
    }
}

上一篇 下一篇

猜你喜欢

热点阅读