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のテストケースを実行することは注入された取得されていない状態。 これにより、テストケースが失敗しています。

ローカル・エクリプスで正常に動作しているテスト・ケース。

正確に何が間違っているのかをご理解いただけるようにお願いします。

+0

? –

+0

なぜあなたは_Spring TestContext Frameworkを使用していませんか? –

+0

これはinitApplicationcontext()内のコードです。 プライベート静的void initApplicationcontext { \t String [] configLocation = {"classpath:/test-applicationContext.xml"}; \t setApplicationContext(新しいClassPathXmlApplicationContext(configLocation)); } – rupesh

答えて

0

実際、問題は他にもありました。 @Valueはうまくいきました。ペイロードの属性が注入されていないため、テストケースが失敗していました。 `initApplicationContextは()`から来るのか、そしてどのようなそれはのように見えるん

Actuall issue you can refer here

関連する問題