0
私は以下のようなテストケース構造を持っています。また、Jenkinsでmaven surefireプラグインを使用してTestSuite.javaを起動しています。@ValueはJenkinsの統合テストでは機能しません[Maven surefire]
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.16</version>
<configuration>
<includes>
<include>com/../suite/TestSuite.java</include>
</includes>
</configuration>
</plugin>
のTestSuiteクラス:
@RunWith(Suite.class)
@SuiteClasses({Test1.class, Test2.class})
public class TestSuite {
@BeforeClass
public static void init() {
BaseTest.init();
}
}
BaseTest.java{
public static void init() throws Throwable {
initApplicationContext();
...
}
private static void initApplicationcontext {
String[] configLocation = { "classpath:/test-applicationContext.xml"};
setApplicationContext(new ClassPathXmlApplicationContext(configLocation));
}
}
Test1.java extends BaseTest{
...
testMethodInBLClass1(){
...
BLClass1.methodInBLClass1();
...
}
}
BLClass1.java{
methodInBLClass1(){
BLClass2.methodInBLClass2();
}
}
BLClass2.java{
@Value("${some.value}")
private String someValue;
methodInBLClass2(){
s.o.p(someValue);
}
}
私は私の性質は、SRC /テスト/リソースの下にファイルしましたが、ジェンキンス@valueのテストケースを実行することは注入された取得されていない状態。 これにより、テストケースが失敗しています。
ローカル・エクリプスで正常に動作しているテスト・ケース。
正確に何が間違っているのかをご理解いただけるようにお願いします。
? –
なぜあなたは_Spring TestContext Frameworkを使用していませんか? –
これはinitApplicationcontext()内のコードです。 プライベート静的void initApplicationcontext { \t String [] configLocation = {"classpath:/test-applicationContext.xml"}; \t setApplicationContext(新しいClassPathXmlApplicationContext(configLocation)); } – rupesh