为啥我的单元测试一直显示 NullPointerException?我正在使用@BeforeClass,但它似乎不起作用

Posted

技术标签:

【中文标题】为啥我的单元测试一直显示 NullPointerException?我正在使用@BeforeClass,但它似乎不起作用【英文标题】:Why does my Unit Test keep saying NullPointerException? I'm using @BeforeClass and it doesn't seem to work为什么我的单元测试一直显示 NullPointerException?我正在使用@BeforeClass,但它似乎不起作用 【发布时间】:2022-01-06 21:09:08 【问题描述】:
public class FlooringMasteryServiceLayerImplTest 

    private FlooringMasteryServiceLayer service;

    /*public FlooringMasteryServiceLayerImplTest() 
        ApplicationContext ctx
                = new ClassPathXmlApplicationContext("applicationContext.xml");
        service
                = ctx.getBean("serviceLayer", FlooringMasteryServiceLayer.class);
    */

    @BeforeClass
    public static void setUpClass() 
    

    @AfterClass
    public static void tearDownClass() 
    

    @Before
    public void setUp() 
    

    @After
    public void tearDown() 
    

    
    @Test
    public void testCreatedOrderFileNameFromDate() 
        
        LocalDate date = LocalDate.parse("2020-11-25");
        
        String orderFileName = service.createOrderFileNameFromDate(date);
        
        assertEquals(orderFileName, "Orders_11252020.txt", "The order file name generated was incorrect.");
    


我似乎找不到这个失败的单元测试的解决方案。我有@BeforeClass,所以我相信它正在运行 JUnit4。它只是一直在说 NullPointerException,我不知道如何解决这个问题。请帮忙

【问题讨论】:

您希望@BeforeClass 做什么? 这能回答你的问题吗? What is a NullPointerException, and how do I fix it? 我只希望我的单元测试能够正常工作,并了解为什么它一开始就不能正常工作以及为什么它会显示 NullPointerException。 服务从未初始化。 【参考方案1】:

您需要在@BeforeClass 方法中初始化变量“服务”。

【讨论】:

以上是关于为啥我的单元测试一直显示 NullPointerException?我正在使用@BeforeClass,但它似乎不起作用的主要内容,如果未能解决你的问题,请参考以下文章