1

アノテーションベースの構成を使用して Spring と Hibernate を統合するアプリケーション (Spring 4 MVC+Hibernate+jpa4+MySQL+Maven のアノテーションを使用した統合例) があります。

そしてこの単体テスト

@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 ステートメントの 2 つの異なるブランチとして > と = が認識されます。

于 2017-08-09T18:53:23.163 に答える