Требуется руководство по тестированию Java JUnit - PullRequest
0 голосов
/ 01 мая 2019

Я пытаюсь запустить создать несколько тестов для программы, которую я имею. Я все еще новичок в Java и программировании в целом, поэтому я не уверен, что делать. У меня есть файл .csv, позволяющий просто назвать его testdata.csv, и я хочу найти определенные слова в этом тестовом файле для теста. Например, тест, который может отображать несколько строк из этого файла и говорить, что они там.

Я пытался использовать assert.that, но у меня это не сработало, возможно, я ошибся. Просто искал в интернете и пытался собрать вещи воедино. Код, который я включил, был моей последней попыткой, и я знаю, что это неправильно ...


@org.junit.Test
    public void testAssets (){

        String fileName;

        fileName = "testdata.csv";

        Assert.that(fileName, hasItems);

Чтобы тест не прошел, если в нем нет строки "UDP, TCP, ICMP"

1 Ответ

1 голос
/ 01 мая 2019

Модульное тестирование - это тестирование вашего кода изолированно, чтобы гарантировать, что один компонент или модуль функционирует как задумано.В приведенном выше случае вы хотите проверить, будет ли логика, которая работает с 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, но ваши модульные тесты проходят успешно и при условии, что вы правильно читаете файл, вы можете быть уверены, что файл не содержит искомого соответствия.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...