1

我有一个应用程序(使用注释的 Spring 4 MVC+Hibernate+jpa4+MySQL+Maven 集成示例),使用基于注释的配置将 Spring 与 Hibernate 集成。

和这个单元测试

@Test
    public void testFindAll() throws Exception {
        List<Guardian> guardians = getGuardianAccessorService().findAll();
        assertNotNull (guardians);
        assertTrue    (guardians.size()>=0);
    }


@Test
    public void testFindCompanyGuardians() throws Exception {

        List<Guardian> allGuardians = getGuardianAccessorService().findAll();       
        List<Guardian> guardiansByCompany = getGuardianAccessorService().findCompanyGuardians(AUTHENTICATED_USERNAME);

        assertTrue    (guardiansByCompany.size() <= allGuardians.size());       
    }

但在此断言行中,我错过了 2 个分支中的 1 个警告

assertTrue (guardians.size()>=0);

assertTrue (guardiansByCompany.size() <= allGuardians.size());

4

2 回答 2

2

不确定在单元测试中实际运行分支(或行)覆盖是否有意义。您应该主要检查被测目标,而不是测试。预计如果您的测试没有失败,则不采用失败分支,这将报告为部分覆盖。

于 2016-03-07T00:38:23.577 回答
0

也许它将 > 和 = 视为第一个 assertTrue 语句的两个不同分支。

于 2017-08-09T18:53:23.163 回答