由于某种原因,我的测试类的 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), "首次出价应无误添加");
因为拍卖还没有初始化。我正在使用 Eclipse。
最佳答案
您使用的是 JUnit 5 @Test
,但使用的是 JUnit 4 @Before
/@After
。
您需要使用 org.junit.jupiter
中的 @BeforeEach
/@AfterEach
。
关于java - JUnit 中未调用 setUp(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55253913/