Модульное тестирование - это тестирование вашего кода изолированно, чтобы гарантировать, что один компонент или модуль функционирует как задумано.В приведенном выше случае вы хотите проверить, будет ли логика, которая работает с String
, считывающим данные из файла (или где-либо еще в этом отношении), обнаруживать то, что она должна обнаружить.
Допустим, у вас есть метод:
public boolean isAMatch(String input)
{
return (input.contains("UDP") || input.contains("TCP") || input.contains("ICMP"))
}
Ваш тест для этого метода или единицы кода должен выглядеть примерно так:
private void testIsAMatch()
{
Assert.assertTrue(isAMatch("This String contains UDP."));
Assert.assertTrue(isAMatch("This String contains TCP."));
Assert.assertTrue(isAMatch("This String contains ICMP."));
Assert.assertFalse(isAMatch("This String does not match."));
}
Идея, лежащая в основемодульное тестирование заключается в том, что вы тестируете свой код на работу независимо от внешних источников (таких как файл, соединение с базой данных, веб-сайт и т. д.).Что если файл будет отредактирован или удален?Как вы узнаете, где ваша ошибка?Модульное тестирование предназначено для того, чтобы быстро определить, не вызвало ли изменение кода вашу логику.Таким образом, вы можете проанализировать ваш файл .csv в одну большую строку или в меньшую строку, или, тем не менее, и передать этот вход в ваш метод isAMatch()
.Если он возвращает false, но ваши модульные тесты проходят успешно и при условии, что вы правильно читаете файл, вы можете быть уверены, что файл не содержит искомого соответствия.