0

私は Web プロジェクトに取り組んでおり、Tomcat の context.xml でパス、アプリケーションの構成のプロパティ値などのいくつかのプロパティを定義しました。Web コンテナーの外部で起動される JUnit テストを作成したいときに問題が発生します。これらのパラメーターを定義するにはどうすればよいですか? 明確にするために、私の context.xml (Tomcat 構成ディレクトリ内) には、次のものがあります。

<Parameter name="myProperty" value="myValue" override="false"/>

Spring では、次のようにアクセスします。

<property name="property" value="#{myProperty}" />

しかし、junit テストを起動すると、context.xml が読み込まれず、別の方法でプロパティを定義する必要があります。どうやってやるの?より正確には、私たちが話している context.xml ファイルは Tomcat サーバーで使用されるファイルであり、Spring スキーマに従っていないため、Spring に「インポート」できないと思います。私はすでに SpringJUnit4ClassRunner と ContextConfiguration タグを使用しており、正常に動作しますが、Tomcat の動作をエミュレート/置換して、この ContextParameters を定義し、パラメーターを取得する必要があります...

私がより明確であることを願っています:)

4

2 に答える 2

1

次のようなものを使用してみてください:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:context.xml")
public class MyTestClass {

//put tests here

}

編集:

コンテキスト ファイルへのパスを指定することもできます。

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("file:src/main/resources/spring/config.xml")
public class MyTestClass {

//put tests here

}
于 2012-07-25T14:04:14.550 に答える
0

上記の提案が機能するには、spring-test モジュールに依存する必要があります。

古き良き方法でコンテキスト ファイルをロードすることもできます。

ApplicationContext context = new ClassPathXmlApplicationContext("context.xml")

そして、Bean を名前で取得します。

于 2012-07-26T00:27:38.993 に答える