setUp () не вызывается в JUnit - PullRequest
0 голосов
/ 20 марта 2019

По какой-то причине метод setUp () моего тестового класса не вызывается перед моим тестовым методом.

import static org.junit.jupiter.api.Assertions.*;
import org.junit.After;
import org.junit.Before;
import org.junit.jupiter.api.Test;

class BlockchainAuctionTest {
    private BlockchainAuction auction;

@Before
public void setUp() {
    auction = new BlockchainAuction();
    System.out.println("setUp");
}

@After
public void tearDown() {
    System.out.println("tearDown");
}

@Test
void testOneBid() {
    Bid bid = new Bid("Bitcoin", "Devon", 1.0);
    assertTrue(auction.recordNewBid(bid), "first bid should be added without error");
}
}

В частности, я получаю исключение нулевого указателя на строке, которая говорит

assertTrue(auction.recordNewBid(bid), "first bid should be added without error");

, поскольку аукцион не был инициализирован.Я использую Eclipse.

Ответы [ 2 ]

3 голосов
/ 20 марта 2019

Вы используете JUnit 5 @Test, но JUnit 4 @Before / @After.

Вам необходимо использовать @BeforeEach / @AfterEach из org.junit.jupiter.

1 голос
/ 20 марта 2019

Начиная с того, как это выглядит, вы можете попробовать изменить импорт с

import org.junit.jupiter.api.Test;

на

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