0

を使用して統合テストを作成しようとしていAbstractTransactionalJUnit4SpringContextTestsます。executeSQLScriptこのクラスのメソッドを使いたいです。

ただし、メソッドが呼び出されると、クラスのパラメーターが初期化されていないためexecuteSQLScript、スローされます。NullPointerExceptionsimpleJdbcTemplateAbstractTransactionalJUnit4SpringContextTests

私のコードは次のようになります。

@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);
    }
}

助けてくれてありがとう!

4

1 に答える 1

0

あなたは@AutowiredあなたのsetDataSource()方法に欠けています。

Springリファレンスマニュアルの「テストフィクスチャの依存性注入」セクションの最後の注を参照してください。

于 2012-11-10T14:27:48.047 に答える