【问题标题】:@Value not working in integration tests on Jenkins [Maven surefire]@Value 在 Jenkins 的集成测试中不起作用 [Maven 万无一失]
【发布时间】:2017-05-03 06:20:45
【问题描述】:


我已经测试用例结构如下。我们正在使用 Jenkins 上的 maven surefire 插件触发 TestSuite.java。

        <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/test/resources 下,但是在 Jenkins 上运行测试用例时,@Value 没有被注入。 因此测试用例失败。

测试用例在本地 Eclipse 上运行良好。

请求帮助以了解这里到底出了什么问题。

【问题讨论】:

  • initApplicationContext() 从何而来,又长什么样子?
  • 你为什么不使用Spring TestContext Framework
  • 这是 initApplicationcontext() 中的代码。私有静态无效 initApplicationcontext { String[] configLocation = { "classpath:/test-applicationContext.xml"}; setApplicationContext(new ClassPathXmlApplicationContext(configLocation)); }
  • 你有多个项目,还是只有一个?
  • 另外,你是如何加载你的属性文件的?

标签: junit spring-test maven-surefire-plugin spring-properties


【解决方案1】:

其实问题是别的。 @Value 工作正常。有效载荷中的属性没有被注入,因此测试用例失败。

Actuall issue you can refer here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-07
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-27
    • 2012-03-15
    相关资源
    最近更新 更多