为啥我的单元测试一直显示 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,但它似乎不起作用的主要内容,如果未能解决你的问题,请参考以下文章

为啥即使单元测试全部通过,我的代码覆盖率也为零?

为啥?单元测试覆盖率中显示的类即使没有添加到测试目标中

为啥 Xcode 找不到我的单元测试应用程序?

为啥 iOS 自动布局会导致预 Retina 显示器出现明显的舍入错误(包括单元测试)

为啥我的 Django 单元测试不知道安装了 MessageMiddleware?

为啥使用 jasmine 对 Node typescript 项目进行 Karma 单元测试会显示包含依赖项的覆盖范围?