JUnit āĻĻāĻžāĻŦā§€

āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨

6.1 āĻĻāĻžāĻŦāĻŋ

āĻĻāĻžāĻŦā§€ āĻšāĻ˛ āĻŦāĻŋāĻļā§‡āĻˇ āĻšā§‡āĻ• āĻ¯āĻž āĻ•ā§‹āĻĄā§‡āĻ° āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻœāĻžāĻ¯āĻŧāĻ—āĻžāĻ¯āĻŧ āĻĸā§‹āĻ•āĻžāĻ¨ā§‹ āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻ¤āĻžāĻĻā§‡āĻ° āĻ•āĻžāĻœ āĻšāĻ˛ āĻ•āĻŋāĻ›ā§ āĻ­ā§āĻ˛ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¤āĻž āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°āĻžāĨ¤ āĻŦāĻž āĻŦāĻ°āĻ‚, āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻ¯ā§‡āĻŽāĻ¨ āĻ‰āĻšāĻŋāĻ¤ āĻ¤ā§‡āĻŽāĻ¨ āĻšāĻ˛āĻ›ā§‡ āĻ•āĻŋāĻ¨āĻž āĻ¤āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻžāĨ¤ āĻāĻŸāĻŋ "āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§‡" āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻž āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻāĻŸāĻŋ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ‰āĻĒāĻžāĻ¯āĻŧā§‡ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ¯āĻŧāĨ¤

āĻ†āĻĒāĻ¨āĻŋ āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡ āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ•ā§‹āĻĄā§‡ āĻ•āĻŋāĻ›ā§ āĻĻāĻžāĻŦāĻŋāĻ° āĻ¸āĻŽā§āĻŽā§āĻ–ā§€āĻ¨ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĻ¨āĨ¤ āĻĒā§āĻ°āĻĨāĻŽāĻŸāĻŋ āĻ¸āĻŽāĻ¤āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻŦāĻ¸ā§āĻ¤ā§ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻ›ā§‡āĨ¤ āĻŦāĻ¸ā§āĻ¤ā§ āĻ¸āĻŽāĻžāĻ¨ āĻ¨āĻž āĻšāĻ˛ā§‡, āĻāĻ•āĻŸāĻŋ āĻŦā§āĻ¯āĻ¤āĻŋāĻ•ā§āĻ°āĻŽ āĻ¨āĻŋāĻ•ā§āĻˇā§‡āĻĒ āĻ•āĻ°āĻž āĻšāĻŦā§‡ āĻāĻŦāĻ‚ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻŦā§āĻ¯āĻ°ā§āĻĨ āĻšāĻŦā§‡āĨ¤

āĻ¤ā§āĻ˛āĻ¨āĻžāĻ° āĻ•ā§āĻ°āĻŽ āĻāĻ–āĻžāĻ¨ā§‡ āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ , āĻ•āĻžāĻ°āĻŖ āĻšā§‚āĻĄāĻŧāĻžāĻ¨ā§āĻ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§‡āĻĻāĻ¨ā§‡ JUnit āĻāĻŽāĻ¨ āĻ•āĻŋāĻ›ā§ āĻ˛āĻŋāĻ–āĻŦā§‡ "āĻŽāĻžāĻ¨ 1 āĻĒā§‡āĻ¯āĻŧā§‡āĻ›ā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ 3 āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻļāĻŋāĻ¤ āĻ›āĻŋāĻ˛"āĨ¤ āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻšā§‡āĻ•ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ āĻšāĻ˛:

assertEquals(standard , meaning)

āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ:

@Test
public void whenAssertingEquality () {
    String expected = "3.1415";
    String actual = "3";

    assertEquals(expected, actual);
}

6.2 āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ—ā§āĻ˛āĻŋ assertEquals, assertTrue, assertFalse

āĻ¨ā§€āĻšā§‡ āĻ†āĻŽāĻŋ āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻœāĻ¨āĻĒā§āĻ°āĻŋāĻ¯āĻŧ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ—ā§āĻ˛āĻŋ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻŦ - āĻĻāĻžāĻŦā§€āĨ¤ āĻ¤āĻžāĻĻā§‡āĻ° āĻ¨āĻžāĻŽ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¤āĻžāĻ°āĻž āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ āĻ¤āĻž āĻ…āĻ¨ā§āĻŽāĻžāĻ¨ āĻ•āĻ°āĻž āĻ¸āĻŽā§āĻ­āĻŦāĨ¤ āĻ¤āĻŦā§‡ āĻ†āĻŽāĻŋ āĻ¯āĻžāĻ‡āĻšā§‹āĻ• āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻ•ā§āĻˇāĻŋāĻĒā§āĻ¤ āĻŦā§āĻ¯āĻžāĻ–ā§āĻ¯āĻž āĻ˛āĻŋāĻ–āĻŦ:

assert Equals āĻĻā§āĻŸāĻŋ āĻŦāĻ¸ā§āĻ¤ā§ āĻ¸āĻŽāĻžāĻ¨ āĻ¤āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§‡
assertArrayEquals āĻĻā§āĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻ°ā§‡āĻ¤ā§‡ āĻ¸āĻŽāĻžāĻ¨ āĻŽāĻžāĻ¨ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ•āĻŋāĻ¨āĻž āĻ¤āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§‡
assertNotNull āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ āĻļā§‚āĻ¨ā§āĻ¯ āĻ¨āĻž āĻšāĻ˛ā§‡ āĻšā§‡āĻ• āĻ•āĻ°ā§‡
assertNull āĻ¯ā§āĻ•ā§āĻ¤āĻŋāĻŸāĻŋ āĻļā§‚āĻ¨ā§āĻ¯ āĻ•āĻŋāĻ¨āĻž āĻ¤āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§‡
assertNotSame āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§āĻ¨ āĻ¯ā§‡ āĻĻā§āĻŸāĻŋ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ āĻāĻ•āĻ‡ āĻŦāĻ¸ā§āĻ¤ā§ āĻ¨āĻ¯āĻŧ
assertSame āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§āĻ¨ āĻ¯ā§‡ āĻĻā§āĻŸāĻŋ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ āĻāĻ•āĻ‡ āĻŦāĻ¸ā§āĻ¤ā§
assertTrue āĻ¯ā§āĻ•ā§āĻ¤āĻŋāĻŸāĻŋ āĻ¸āĻ¤ā§āĻ¯ āĻ•āĻŋāĻ¨āĻž āĻ¤āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§‡
assert False āĻ¯ā§āĻ•ā§āĻ¤āĻŋāĻŸāĻŋ āĻŽāĻŋāĻĨā§āĻ¯āĻž āĻ•āĻŋāĻ¨āĻž āĻ¤āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§‡

āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻ•āĻŋāĻ›ā§ āĻ…āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻŽāĻ¨ā§‡ āĻšāĻ¯āĻŧ. āĻ•ā§‡āĻ¨ assertSame(a, b) āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨ āĻ¯āĻ–āĻ¨ āĻ†āĻĒāĻ¨āĻŋ āĻļā§āĻ§ā§ assertTrue(a == b) āĻ˛āĻŋāĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ ?

āĻŦāĻŋāĻ¨ā§āĻĻā§ āĻšāĻ˛ āĻ¯ā§‡ āĻĻāĻžāĻŦāĻŋ āĻāĻ•āĻŸāĻŋ āĻ–ā§āĻŦ āĻ¸ā§āĻŽāĻžāĻ°ā§āĻŸ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ. āĻāĻŸāĻŋ āĻ˛āĻ—ā§‡ āĻ¤ā§āĻ°ā§āĻŸāĻŋāĻ° āĻ¤āĻĨā§āĻ¯ āĻ˛ā§‡āĻ–āĻž āĻ¸āĻš āĻ…āĻ¨ā§‡āĻ• āĻĻāĻ°āĻ•āĻžāĻ°ā§€ āĻœāĻŋāĻ¨āĻŋāĻ¸ āĻ•āĻ°ā§‡ āĨ¤ āĻĒā§āĻ°āĻĨāĻŽ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻāĻŸāĻŋ āĻ˛āĻŋāĻ–āĻŦā§‡ āĻ¯ā§‡ āĻŦāĻ¸ā§āĻ¤ā§ A āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻļāĻŋāĻ¤ āĻ›āĻŋāĻ˛, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ B āĻ—ā§ƒāĻšā§€āĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤ āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻāĻŸāĻŋ āĻ•ā§‡āĻŦāĻ˛ āĻ˛āĻŋāĻ–āĻŦā§‡ āĻ¯ā§‡ āĻ¸āĻ¤ā§āĻ¯ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻļāĻŋāĻ¤ āĻ›āĻŋāĻ˛ āĨ¤

āĻ¯āĻ–āĻ¨ āĻ†āĻĒāĻ¨āĻžāĻ° āĻļāĻ¤ āĻļāĻ¤ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻĨāĻžāĻ•ā§‡, āĻŦāĻŋāĻļā§‡āĻˇ āĻ•āĻ°ā§‡ āĻ¯ā§‡āĻ—ā§āĻ˛āĻŋ āĻāĻ•āĻŸāĻŋ āĻĄā§‡āĻĄāĻŋāĻ•ā§‡āĻŸā§‡āĻĄ āĻŸā§‡āĻ¸ā§āĻŸ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡ āĻšāĻ˛āĻ›ā§‡, āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻ˛āĻ— āĻĨāĻžāĻ•āĻž āĻ–ā§āĻŦāĻ‡ āĻ¸āĻšāĻžāĻ¯āĻŧāĻ• āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻ†āĻŽāĻžāĻ° āĻŽāĻ¨ā§‡ āĻšāĻ¯āĻŧ āĻ†āĻĒāĻ¨āĻŋ āĻŦā§āĻāĻ¤ā§‡ āĻĒā§‡āĻ°ā§‡āĻ›ā§‡āĻ¨ āĻ†āĻŽāĻŋ āĻ•āĻŋ āĻŦāĻ˛āĻ¤ā§‡ āĻšāĻžāĻ‡āĻ›āĻŋāĨ¤

āĻ…ā§āĻ¯āĻžāĻ°ā§‡ āĻ¤ā§āĻ˛āĻ¨āĻž āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ:

@Test
public void whenAssertingArraysEquality() {
    char[] expected = {'J','u','n','i','t'};
    char[] actual = "Junit".toCharArray();

    assertArrayEquals(expected, actual);
}

6.3 assertAll āĻĒāĻĻā§āĻ§āĻ¤āĻŋ

āĻ‰āĻĒāĻ°ā§‡ āĻ‰āĻ˛ā§āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻšāĻŋāĻ¸āĻžāĻŦā§‡, assert āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ•āĻŸāĻŋ āĻšā§‡āĻ• āĻ¸āĻžā§āĻšāĻžāĻ˛āĻ¨ āĻ•āĻ°ā§‡ āĻ¨āĻž, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ˛āĻ—ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¤ā§āĻ˛āĻ¨ā§€āĻ¯āĻŧ āĻŦāĻ¸ā§āĻ¤ā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ…āĻ¨ā§‡āĻ• āĻ¤āĻĨā§āĻ¯āĻ“ āĻ˛ā§‡āĻ–ā§‡āĨ¤

āĻ†āĻ¸ā§āĻ¨ āĻāĻ•āĻŸāĻŋ āĻ¤ā§āĻ˛āĻ¨āĻž āĻ•āĻ°āĻž āĻ¯āĻžāĻ•:

Address address = unitUnderTest.methodUnderTest();
assertEquals("Washington", address.getCity());
assertEquals("Oracle Parkway", address.getStreet());
assertEquals("500", address.getNumber());

āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¯āĻĻāĻŋ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°āĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻŽā§‡āĻ˛ā§‡ āĻ¨āĻž, āĻ¤āĻŦā§‡ āĻŦāĻžāĻ•āĻŋāĻ—ā§āĻ˛āĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻž āĻšāĻŦā§‡ āĻ¨āĻžāĨ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ†āĻŽāĻŋ āĻšāĻžāĻ‡ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻāĻ–āĻ¨āĻ“ āĻ˜āĻŸā§āĻ• āĻāĻŦāĻ‚ āĻ¤āĻžāĻĻā§‡āĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛āĻ—ā§āĻ˛āĻŋ āĻ˛āĻ—ā§‡ āĻ°ā§‡āĻ•āĻ°ā§āĻĄ āĻ•āĻ°āĻž āĻšā§‹āĻ•ā§ˇ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ•āĻ‡ āĻ¸āĻŽāĻ¯āĻŧā§‡, āĻ¯āĻĻāĻŋ āĻ…āĻ¨ā§āĻ¤āĻ¤ āĻāĻ•āĻŸāĻŋ āĻšā§‡āĻ• āĻŦā§āĻ¯āĻ°ā§āĻĨ āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻāĻ–āĻ¨āĻ“ āĻŦā§āĻ¯āĻ°ā§āĻĨ āĻšāĻ¯āĻŧāĨ¤

āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻļā§‡āĻˇ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ - assertAll() āĨ¤ āĻĒā§āĻ°āĻĨāĻŽ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ āĻšāĻŋāĻ¸ā§‡āĻŦā§‡, āĻ˛āĻ—-āĻ āĻ˛ā§‡āĻ–āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻ˛āĻžāĻ—ā§‡, āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ° āĻ¯ā§‡āĻ•ā§‹āĻ¨ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻ• āĻ…ā§āĻ¯āĻžāĻ¸āĻžāĻ°ā§āĻŸ āĻĢāĻžāĻ‚āĻļāĻ¨āĨ¤

āĻāĻ–āĻžāĻ¨ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻāĻŸāĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ˛ā§‡āĻ–āĻž āĻšāĻŦā§‡:

Address address = unitUnderTest.methodUnderTest();
assertAll("Complex address comparison script",
    () -> assertEquals("Washington", address.getCity()),
    () -> assertEquals("Oracle Parkway", address.getStreet()),
    () -> assertEquals("500", address.getNumber())
);

āĻ¤āĻžāĻ°āĻĒāĻ° āĻ¯āĻĻāĻŋ āĻ āĻŋāĻ•āĻžāĻ¨āĻžāĻŸāĻŋ āĻ­ā§āĻ˛ āĻšāĻ¯āĻŧ āĻ¤āĻŦā§‡ āĻ˛āĻ—āĻŸāĻŋāĻ¤ā§‡ āĻāĻ°āĻ•āĻŽ āĻ•āĻŋāĻ›ā§ āĻ˛ā§‡āĻ–āĻž āĻšāĻŦā§‡:

	Complex scenario comparison address (3 failures)
	expected: <Washington> but was: <Seattle>
    expected: <Oracle Parkway> but was: <Main Street>
    expected: <500> but was: <5772>

6.4 assertTimeout āĻĒāĻĻā§āĻ§āĻ¤āĻŋ

@Timeout āĻŸā§€āĻ•āĻž āĻŽāĻ¨ā§‡ āĻ†āĻ›ā§‡ ? āĻāĻŸāĻŋ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻ•āĻ°āĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ¯āĻŧāĨ¤ āĻ¤āĻŦā§‡ āĻ•āĻ–āĻ¨āĻ“ āĻ•āĻ–āĻ¨āĻ“ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻ•ā§‹āĻĄā§‡āĻ° āĻ•āĻŋāĻ›ā§ āĻ…āĻ‚āĻļ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°āĻžāĻ° āĻ‰āĻĒāĻ° āĻŦāĻŋāĻ§āĻŋāĻ¨āĻŋāĻˇā§‡āĻ§ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°āĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻāĻŸāĻŋāĻ° āĻœāĻ¨ā§āĻ¯ assertTimeout() āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĨ¤

āĻ¸āĻŽāĻ¯āĻŧāĻŸāĻŋ āĻĒā§āĻ°āĻĨāĻŽ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻĒāĻžāĻ¸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ¸āĻŽāĻ¯āĻŧā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¯ā§‡ āĻ•ā§‹āĻĄāĻŸāĻŋ (āĻĢāĻžāĻ‚āĻļāĻ¨) āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¤āĻž āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻĒāĻžāĻ¸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ:

@Test
public void whenAssertingTimeout() {
    assertTimeout(
  	ofSeconds(2),
  	() -> {
    	// pause for one second
    	Thread.sleep(1000);
  	}
	);
}

Assert āĻ•ā§āĻ˛āĻžāĻ¸ā§‡ assertTimeout() āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° 12āĻŸāĻŋ āĻ°ā§‚āĻĒ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ¤āĻžāĻĻā§‡āĻ° āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ†āĻ°āĻ“ āĻœāĻžāĻ¨āĻ¤ā§‡ āĻšāĻžāĻ¨, āĻ…āĻĢāĻŋāĻ¸āĻŋāĻ¯āĻŧāĻžāĻ˛ āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ā§‡ āĻ¸ā§āĻŦāĻžāĻ—āĻ¤āĻŽ āĨ¤

6.5 assertThrows āĻĒāĻĻā§āĻ§āĻ¤āĻŋ

āĻ–ā§āĻŦ āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻ‡ āĻāĻŽāĻ¨ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻĨāĻžāĻ•ā§‡ āĻ¯āĻ–āĻ¨ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ¤ā§‡ āĻ•ā§‹āĻĄāĻŸāĻŋ āĻ¸āĻ āĻŋāĻ• āĻŦā§āĻ¯āĻ¤āĻŋāĻ•ā§āĻ°āĻŽ āĻ›ā§āĻāĻĄāĻŧā§‡āĻ›ā§‡: āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻ¸āĻ¨āĻžāĻ•ā§āĻ¤ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻ¸āĻ āĻŋāĻ• āĻŦā§āĻ¯āĻ¤āĻŋāĻ•ā§āĻ°āĻŽāĻŸāĻŋ āĻ›ā§āĻĄāĻŧā§‡ āĻĻā§‡āĻ¯āĻŧāĨ¤ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ–ā§āĻŦ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĨ¤

āĻāĻ‡ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻ†āĻ°ā§‡āĻ•āĻŸāĻŋ āĻĻāĻ°āĻ•āĻžāĻ°ā§€ āĻĻāĻžāĻŦā§€ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ†āĻ›ā§‡ - āĻāĻŸāĻŋ assertThrows() āĨ¤ āĻāĻ° āĻ•āĻ˛ā§‡āĻ° āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ āĻšāĻ˛:

assertThrows(exception , code)

āĻŽā§‚āĻ˛āĻ¤, āĻāĻŸāĻŋ assertTimeout() āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻ…āĻ¨ā§āĻ°ā§‚āĻĒ , āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻŸāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§‡ āĻ¯ā§‡ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•ā§‹āĻĄāĻŸāĻŋ āĻ¸āĻ āĻŋāĻ• āĻŦā§āĻ¯āĻ¤āĻŋāĻ•ā§āĻ°āĻŽ āĻ¨āĻŋāĻ•ā§āĻˇā§‡āĻĒ āĻ•āĻ°ā§‡āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ:

@Test
void whenAssertingException() {
    Throwable exception = assertThrows(
  	IllegalArgumentException.class,
  	() -> {
      	throw new IllegalArgumentException("Exception message");
  	}
    );
    assertEquals("Exception message", exception.getMessage());
}
āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯
  • āĻœāĻ¨āĻĒā§āĻ°āĻŋā§Ÿ
  • āĻ¨āĻ¤ā§āĻ¨
  • āĻĒā§āĻ°āĻžāĻ¨ā§‹
āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻ˛ā§‡āĻ–āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¤ā§‹āĻŽāĻžāĻ•ā§‡ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻ¸āĻžāĻ‡āĻ¨ āĻ‡āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡
āĻāĻ‡ āĻĒāĻžāĻ¤āĻžā§Ÿ āĻāĻ–āĻ¨āĻ“ āĻ•ā§‹āĻ¨ā§‹ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻ¨ā§‡āĻ‡