Я цитирую этот пост от exubero's. Я думаю, что эта запись принесет пользу всем, кто делает единичный тест:JUnit - Использование неправильной заявки
Существует множество различных методов, начинающихся с утверждения, определенного в классе 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()»?
Это не блог. Пожалуйста, не размещайте rants здесь, а затем придерживайтесь незначительного вопроса в конце. – JoshJordan
Отмечено на этом. справедливо. Я редактировал формулировки в сообщении. Я никогда не рассматривал этот вопрос как «напыщенный». Мое наблюдение представляет собой интересную дискуссию, которая может помочь каждому лучше написать единичный тест. Поэтому я просто хотел бы посмотреть, что другие думают об этом. – zfranciscus
Это не дебаты, не так ли? Вы должны использовать 'assertTrue' только для конкретного случая тестирования логического метода. В чем проблема? Вы встречали кого-то, кого смутило assertTrue? –