0

プロジェクトの統合テストを書いて遊んでいます。テストを書くのはこれが初めてなので、これが簡単な質問である場合はご容赦ください。

コア、サイト、管理などのさまざまなモジュールがありますが、

単体テストを統合テストとは別にしたいと考えています。そのため、プロジェクトの中核として、フォルダー src/it/java とその中にパッケージ (com.test.integration) を作成しました。このパッケージには、実行しようとしているテストが含まれています。

テスト アプリケーション コンテキストと必要なテスト プロパティ ファイルは、直接 src/it/java にあります。src/it/java をビルド パスに追加しました。私のアプリケーションコンテキストでは、次のものがあります

<bean id="dataSource" 
      class="org.apache.commons.dbcp.BasicDataSource"
      destroy-method="close">
    <property name="url" value="jdbc:mysql://${mysql.host}/${mysql.db_blc}?autoReconnect=true&amp;useUnicode=true&amp;characterEncoding=UTF8"/>
    <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
    <property name="username" value="${mysql.user}" />
    <property name="password" value="${mysql.pass}" /> 
    <property name="testWhileIdle" value="true"/>
    <property name="testOnBorrow" value="true"/>
    <property name="testOnReturn" value="false"/>
    <property name="validationQuery" value="SELECT 1"/>
</bean>

<bean id="jdbcTemplate" class="org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate">
    <constructor-arg ref="dataSource" /> 
</bean>

今私のサンプルテストで

@RunWith(BlockJUnit4ClassRunner.class)
@ContextConfiguration("/applicationContext-test.xml")
public class SampleTest {
    @Resource(name="jdbcTemplate")
private NamedParameterJdbcTemplate jdbcTemplate;
}

jdbcTemplate Bean が null で、その理由がわかりません。

どんな入力でも大歓迎です。Spring 3.0.5 と JUnit4 を使用しています

ありがとうメフル

4

1 に答える 1

0
  1. SpringJunit4ClassRunnerを使ってみてください
  2. コンテキスト構成をこれに変更することをお勧めします @ContextConfiguration("classpath:/applicationContext-test.xml")
于 2014-01-08T02:29:29.157 に答える