Тестирование с Mockito и Junit в Java не бежитJAVA

Программисты JAVA общаются здесь
Anonymous
Тестирование с Mockito и Junit в Java не бежит

Сообщение Anonymous »

Я провел тесты для моего приложения с 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

Вернуться в «JAVA»