Я цитирую это сообщение из записи exubero . Я думаю, что эта запись принесет пользу всем, кто проводит модульное тестирование:
Существует большое количество различных методов, начинающихся с assert, определенных в классе Assert Junit. Каждый из этих методов имеет несколько разные аргументы и семантику в отношении того, что они утверждают.
Ниже показаны некоторые нерегулярные использования assertTrue:
assertTrue("Objects must be the same", expected == actual);
assertTrue("Objects must be equal", expected.equals(actual));
assertTrue("Object must be null", actual == null);
assertTrue("Object must not be null", actual != null);
Некоторые эксперты по модульному тестированию указали, что вышеприведенный код лучше написать как:
assertSame("Objects must be the same", expected, actual);
assertEquals("Objects must be equal", expected, actual);
assertNull("Object must be null", actual);
assertNotNull("Object must not be null", actual);
Одним из преимуществ использования соответствующей функции assertXXX () будет повышение читаемости модульного теста. Может кто-нибудь указать, какие еще преимущества использования соответствующего assertXXX ()?