本ページはプロモーションが含まれています。

スポンサーリンク

自動テスト・JUnit

SpringBootの自動テストサンプル

投稿日:2021年12月23日 更新日:

テスト対象は、各層のpublicメソッドです。
privateメソッドをテストするのは良くなく、privataeメソッドを呼び出すpublicメソッドをテストすることで、カバレッジを高めます。

(全層共通)各テストケースの基本構成

テストケースのテストコードは次の流れを推奨する。

1given〜と言う前提条件下でテストケースの前提となる設定を記述する。DBレコードの準備など。
2when〜の場合テスト対象メソッドの呼び出しを行う。
3then〜であるべき(〜であること)テスト対象メソッドを呼び出したことによる期待値を評価する。
DBレコードの更新などをアサーションする。

上記の3つの部分に明確に分けて書くことで、テストコードの保守性は向上する。

サービス層の自動テスト・JUnit

サービス層のJUnitの基本形

LoginServiceImpl#login(String, String) というメソッドのテストを書くとします。

@SpringBootTest
public class LoginServiceImplTest {

    @Autowired
    private LoginServiceImpl loginServiceImpl;

    /**
     * テスト条件:XXX
     * 期待値:YYY
     */
    @Test
    public void login1() {
        String login = loginServiceImpl.login("foo", "bar");
        Assertions.assertEquals(login, "expected");
    }
}

このように、テスト対象のサービスクラスを、@AutowiredによりテストクラスにDIして、テストメソッドでテスト対象のメソッドを呼び出すのが基本形です。

本ページはプロモーションが含まれています。

Udemyのハンズオン動画講座でSpringBootのスキルを磨く!

スポンサーリンク

-自動テスト・JUnit

Copyright© 【Spring Hack】 , 2024 All Rights Reserved Powered by AFFINGER5.