【问题标题】:springjunit4classrunner test case throwing null pointerspringjunit4classrunner 测试用例抛出空指针
【发布时间】:2011-11-08 20:42:57
【问题描述】:

我正在使用 JUNIT4 + Spring 并编写了一个测试用例。我连接了一个 JDBC 模板并对其进行了手动设置。但结果是空的,当我使用注入的变量时,测试抛出空指针异常。这里有什么问题?

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "classpath:applicationContextTest.xml" })
@TransactionConfiguration(defaultRollback = true)
@Configurable
public class WriterTest {


    private JdbcTemplate utilityJdbcTemplate;

    public void setUtilityJdbcTemplate(JdbcTemplate utilityJdbcTemplate) {
        this.utilityJdbcTemplate = utilityJdbcTemplate;
    }



    @Test
    @Transactional
    @Rollback(true)
    public void testHappyPath() {
        Assert.assertNotNull(utilityJdbcTemplate);

    }
}

这里测试失败,因为utilityJdbcTemplate 为空。为什么?

【问题讨论】:

  • 不确定如何在不查看相关配置或代码的情况下诊断问题;显示的代码没有理由 not 为空。
  • 我自己在这里找到了答案。感谢您尝试帮助我。 stackoverflow.com/questions/4133608/…

标签: spring unit-testing junit4


【解决方案1】:

“必须自动接线”:

@Autowired
private JdbcTemplate utilityJdbcTemplate;

【讨论】:

  • 没有。自动接线不起作用。它不是那么直接。我尝试过这个。答案就在这里。 stackoverflow.com/questions/4133608/… 。我只是不想删除这个问题,因为它会帮助其他人
  • 应该可以。您的测试不需要@Configurable@Autowired@Resource@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration 一起工作。工作了很多.. 很多次。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-17
  • 1970-01-01
  • 1970-01-01
  • 2013-12-27
相关资源
最近更新 更多