Как создать простой модульный тест с использованием junit или testng для класса интерфейса Queue? - PullRequest
0 голосов
/ 18 января 2019

Я новичок в Java, но я стараюсь учиться как можно быстрее. Я создал класс в Eclipse, используя интерфейс очереди, и создал массив элементов (в моем случае - животных). К этому массиву я добавил новый элемент под названием "тигр".

Я застрял в тот момент, когда я хотел создать новый класс, используя testng / junit и пытаясь добавить простой модульный тест, чтобы проверить, правильно ли был добавлен новый элемент "тигр" в список массивов. Код моей очереди ниже:

public static void main(String[] args) {
    String animals[] = {"cat","dog","pony","horse","cheetah"};
    Queue<String> queue = new LinkedList<String>();
    Collections.addAll(queue, animals);
    System.out.println(queue);
    queue.add("tiger");
    System.out.println(queue);}

Пожалуйста, помогите, я был бы рад любому совету.

Ответы [ 2 ]

0 голосов
/ 18 января 2019

Примерно так:

@Test
public void test() {
    //Given
    String animals[] = {"cat","dog","pony","horse","cheetah"};
    Queue<String> queue = new LinkedList<String>();
    Collections.addAll(queue, animals);

    //When
    queue.add("tiger");

    //Then
    assertThat(queue, hasSize(6));
    assertEquals("tiger",((LinkedList<String>) queue).getLast());
}
0 голосов
/ 18 января 2019

Из вашего кода я бы порекомендовал:

  1. Сначала поместите этот основной код в другой метод, и, если возможно, в другой класс.
  2. Не является обязательным требованием, но избегайте статичности в новом методе.
  3. Читать о модульном тестировании
  4. Используйте jUnit5 для модульного тестирования, очень популярен
  5. Возможно, ниже вы хотите прочитать о парных символах (например, Mockito)

В вашем случае, и я могу вам сказать, что ваш код не «дружественный к тестам», вы хотите проверить, находится ли элемент в очереди, используя его собственные методы или что-то вроде Mockito, чтобы убедиться, что добавление было вызвано со значением, которое вы хотите проверить, но для того, чтобы вы это поняли, вы должны больше узнать о двойниках, насмешках, заглушках.

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