2012-11-09 97 views
0

我正在嘗試使用AbstractTransactionalJUnit4SpringContextTests來編寫集成測試。我想使用這個類的executeSQLScript方法。Spring AbstractTransactionalJUnit4SpringContextTests and simpleJdbcTemplate

但是,當executeSQLScript方法被調用時,它會拋出NullPointerException,因爲AbstractTransactionalJUnit4SpringContextTestssimpleJdbcTemplate參數沒有被初始化。

我的代碼看起來如下:提前爲幫助

@RunWith(SpringJUnit4ClassRunner.class) 
@ContextConfiguration({"classpath:test-services-spring-context.xml"}) 
@TransactionConfiguration(transactionManager = "promoTransactionManager") 
public class PromoBrickDAOIT extends AbstractTransactionalJUnit4SpringContextTests { 

    @Autowired 
    private PromoBricksDAO promoBricksDAO; 

    @Before 
    public void setUp(){ 
     executeSqlScript("classpath:testdata/sql/PromoBrick_Create.sql",  false); 
    } 

    @After 
    public void tearDown(){ 
    } 

    @Test 
    public void testPromoBrickGivenBrowseTaxonomyNodeId(){ 
     String btxNodeId = "v1_12"; 
     List<PromoBrick> promoBricks =  promoBricksDAO.findByBtxNodeId(btxNodeId); 
     assertNotNull(promoBricks); 
     assertEquals(promoBricks.size(), 1); 
     PromoBrick promoBrick = promoBricks.get(0); 
     assertNotNull(promoBrick); 
    } 


    public void setDataSource (@Qualifier("promoDataSource") DataSource  dataSource) { 
      super.setDataSource(dataSource); 
    } 
} 

謝謝!

回答

相關問題