-1

構成されたデータ ソースが注入された dao を注入したい.. コードが醜くなるので注釈のファンではなく、純粋な XML ソリューションが必要です。

テスト ケースは、src フォルダーと同じレベルにある test フォルダーのサブフォルダーにあります。

src
   com
       name
           dao
               ProductDao
test
   com
       name
           dao
               ProductDaoTest

ProductDaoTest には、ProductDao が注入されている必要があります。それをしようとしましたが、春は問題なく注入しましたが、ProductDao の依存関係が注入されておらず、NPE に直面しています。

テストクラスを src フォルダーに移動することを考えましたが、そうする必要はないと思います。私が考えているもう1つの選択肢は、コントローラー呼び出しをブラウズしてテストケースを実行することです(ただし、ユニットテストはもう行われません)ので、正しいことを見つけようとして立ち往生しています。

ありがとう!ps テストは junit、tomcat、spring 3.1 です。

4

2 に答える 2

1

DAOのどのメソッドを単体テストしますか?実際にDB接続をテストしようとしていませんか?

それ以外の場合は、@duffymoに同意します。

編集:少し詳しく説明するために、次のコードチャンクをテストクラスのニーズに適合させてみてください。

final ClassPathXmlApplicationContext beanFactory = 
    new ClassPathXmlApplicationContext( "applicationContext.xml" );
AutowireCapableBeanFactory factory = beanFactory.getAutowireCapableBeanFactory();
factory.autowireBeanProperties( this, AutowireCapableBeanFactory.AUTOWIRE_BY_TYPE , true );
ProductDao dao = context.getBean( "productDao" );

そして、それがDao依存関係Beanのトリックを実行しないかどうかを確認します。

乾杯、

于 2012-10-17T21:59:05.623 に答える
1

いいえ、そうする必要はありません。アプリケーション コンテキストをテストで使用できるようにし、適切に接続するように要求するだけです。

于 2012-10-17T21:56:28.120 に答える