Я провел тесты для моего приложения с Mockito и Junit, и они были в порядке, но вдруг тесты перестали работать без какого -либо сообщения об ошибке, тесты появляются в левом углу Боттона, отмеченные белым "x". /> < /p>
Это часть моего pom.xml < /p>
junit
junit
4.13.2
test
org.mockito
mockito-junit-jupiter
5.14.2
test
org.testng
testng
RELEASE
test
< /code>
Это мой тестовый класс < /p>
package com.f_rafael.junitproject_lucas_moy;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.junit.MockitoJUnitRunner;
import java.io.ByteArrayOutputStream;
import java.io.PrintStream;
import java.util.Random;
import java.util.Scanner;
import static org.mockito.Mockito.when;
@RunWith(MockitoJUnitRunner.class)
public class GameTest {
public static final int OPTION_ROCK = 0;
public static final int OPTION_PAPER = 1;
public static final int OPTION_SCISSORS = 2;
private ByteArrayOutputStream out;
@InjectMocks
private Game game;
@Mock // Este objeto va a estar dentro del objeto que tiene la anotación @InjectMocks
Scanner scanner;
@Mock
Random random;
@Before
public void setup(){
out = new ByteArrayOutputStream();
System.setOut(new PrintStream(out));
}
@org.junit.Test
public void when_writeQuit_then_exitGame(){
when(scanner.nextLine()).thenReturn("Quit");
game.play();
Assert.assertTrue(out.toString().contains("Let's play Rock"));
}
@org.junit.Test
public void when_chooseRock_then_beatsScissors(){
when(scanner.nextLine()).thenReturn("Rock").thenReturn("Quit");
when(random.nextInt(3)).thenReturn(OPTION_SCISSORS);
game.play();
Assert.assertTrue(out.toString().contains("Computer chose scissors"));
Assert.assertTrue(out.toString().contains("wins:1"));
}
@org.junit.Test
public void when_chooseScissors_then_beatsPaper(){
when(scanner.nextLine()).thenReturn("Scissors").thenReturn("Quit");
when(random.nextInt(3)).thenReturn(OPTION_PAPER);
game.play();
Assert.assertTrue(out.toString().contains("Computer chose paper"));
Assert.assertTrue(out.toString().contains("wins:1"));
}
@org.junit.Test
public void when_choosePaper_then_beatsRock(){
when(scanner.nextLine()).thenReturn("Paper").thenReturn("Quit");
when(random.nextInt(3)).thenReturn(OPTION_ROCK);
game.play();
Assert.assertTrue(out.toString().contains("Computer chose rock"));
Assert.assertTrue(out.toString().contains("wins:1"));
}
@Test
public void when_chooseRockAndComputerChoosePaper_then_lose(){
when(scanner.nextLine()).thenReturn("Rock").thenReturn("Quit");
when(random.nextInt(3)).thenReturn(OPTION_PAPER);
game.play();
Assert.assertTrue(out.toString().contains("Computer chose paper"));
Assert.assertTrue(out.toString().contains("loses:1"));
}
}
< /code>
Это просто консольное приложение о рок, бумаге, ножницах. Кроме того, я использую Intellij Idea
Подробнее здесь: https://stackoverflow.com/questions/797 ... ot-running
Тестирование с Mockito и Junit в Java не бежит ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Невозможно заставить Mockito 5 Inject работать с Junit 4 после обновления с Mockito 4.
Anonymous » » в форуме JAVA - 0 Ответы
- 31 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Невозможно заставить Mockito 5 Inject работать с Junit 4 после обновления с Mockito 4.
Anonymous » » в форуме JAVA - 0 Ответы
- 41 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Почему мой Eclipse зависает на 45% при работе с JUnit? Я использую JUnit 5 и Mockito.
Anonymous » » в форуме JAVA - 0 Ответы
- 51 Просмотры
-
Последнее сообщение Anonymous
-