Я понимаю важность тестирования и модульного тестирования в целом, но используется ли JUnit повсеместно в реальном мире, и каковы преимущества его использования по сравнению с «ручным» методом тестирования? То есть зачем использовать тест JUnit:
public class MyTest extends TestCase
{
public void testSomething()
{
assertTrue(someCondition);
assertTrue(manyOtherConditions);
}
}
в сравнении с каким-то легким отладочным модулем с пользовательским кодом
public class MyTest
{
public static void testSomething()
{
MyDebugUtility.println(someCondition);
MyDebugUtility.println(expectedCondition);
}
}
и проверять возвращаемые значения самостоятельно? В любом случае вам придется сравнивать условия, а с помощью модульных тестов кажется ОЧЕНЬ легким сделать пробел в тестовом коде (как я это сделал) и удивляться, почему ваш класс не работает при вашей реальной ошибке. случайно набрал assertTrue, а не assertFalse.
Даже если вам нужна простая логическая функциональность, что делает JUnit лучше
public class MyTest
{
public static void testSomething()
{
if(condition1)
MyDebugUtility.println("Passed condition1");
else
MyDebugUtility.doError(); //handle however you want
}
}
Существуют ли более мощные функции JUnit, которые мне не хватает? Большинство написанных мною модульных тестов казались громоздкими версиями простой печати и логической проверки.