JUnit 5 : Assertion
2388 ワード
インフラストラクチャの「より多くのJavaとアプリケーションをテストするためのさまざまな方法」を確認し、まとめました.
1. Assertionは、値 を検証するためのassertで始まる静的(静的)方法を提供する. JUnit 4からの断言方法と新しいjava 8ラムダ式追加方法 があります. assertEqulas(expected, actual) 実績値が予想値と同じかどうかを確認する assertNotNull(actual) の値がNull であるかどうかを確認します.
assertTrue(boolean) 次の条件が真であることを確認する: assertAll(executables...) すべての確認構文をチェック パラメータとして関数インタフェースを持つExecutableリスト ラムティーポイントを使用すると、複数の検証リストを に送信できます.
assertThrows(expectedType, executable)
検査 異常 assertTimeout(duration, executable) 指定された時間内に実行が完了していることを確認してください.
1. Assertion
検査
@DisplayNameGeneration(DisplayNameGenerator.ReplaceUnderscores.class)
class StudyTest {
@DisplayName("스터디 만들기")
@Test
void assertAllTest() {
Study study = new Study(-1);
assertAll(
() -> assertNotNull(study),
() -> assertEquals(StudyStatus.DRAFT, study.getStatus(),
() -> "스터디를 처음 만들면 상태값이 " + StudyStatus.DRAFT + "이어야 한다."),
() -> assertTrue(study.getLimit() > 0, "스터디 최대 참석 가능 인원은 0보다 커야한다.")
);
}
@Test
void assertThrowsTest() {
IllegalArgumentException exception = assertThrows(IllegalArgumentException.class, () -> new Study(-10));
String message = exception.getMessage();
assertEquals("limit은 0보다 커야 한다.", message);
}
@Test
void assertTimeoutTest() {
// assertTimeout(Duration.ofMillis(10), () -> new Study(-10));
assertTimeout(Duration.ofMillis(10), () -> {
new Study(10);
Thread.sleep(100);
});
// 정해진 시간이 됬을 때 바로 끝남
// Thead관련 문제가 발생 할 수 있으므로 사용에 주의의
// assertTimeoutPreemptively(Duration.ofMillis(100), () -> {
// new Study(10);
// Thread.sleep(200);
// });
}
@BeforeAll
static void beforeAll() {
System.out.println("BeforeAll!");
}
@AfterAll
static void afterAll() {
System.out.println("AfterAll!");
}
@BeforeEach
void setUp() {
System.out.println("BeforeEach!");
}
@AfterEach
void tearDown() {
System.out.println("AfterEach!");
}
}
Reference
この問題について(JUnit 5 : Assertion), 我々は、より多くの情報をここで見つけました https://velog.io/@young_209/JUnit-5-Assertionテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol