Pie*_*din 4 java spring integration-testing maven-2
我正在使用Selenium测试一个使用Spring开发的Web应用程序来检查Web应用程序是否为用户显示了正确的内容,并且他能够执行规范中的所有操作.
其他开发人员正在使用内存中的假Hibernate数据库(HSQLDB)进行单元测试.显然,我必须使用程序使用的真实数据库进行测试.Spring应用程序上下文的JDBC参数由Spring在运行时加载(或编译时用于构建WAR文件).Spring使用org.springframework.beans.factory.config.PropertyPlaceholderConfigurer找到的属性来配置webapp和测试的应用程序上下文,并且测试和webapp共享XML配置文件.
根据Maven配置文件,单元测试或集成测试,属性需要不同.
我尝试了几种方法,没有成功:
为什么当前的构建配置与开发人员配置文件(开发人员,测试服务器......)+测试配置文件(单元测试)同时运行并且属性没有相互覆盖?因为Maven会在启动单元测试时使Spring查看src/test/resources,并在启动构建目标时查看src/main/resources.不幸的是,没有像这样的集成测试的默认配置.
我们这样做的方法是根据变量选择属性文件,因此spring中的属性占位符如下所示:
<context:property-placeholder location="classpath:db.${TARGET_ENV}.properties" />
Run Code Online (Sandbox Code Playgroud)
然后您可以选择将TARGET_ENV定义为环境变量,或者使用-DTARGET_ENV =将其传递给maven ...
| 归档时间: |
|
| 查看次数: |
3923 次 |
| 最近记录: |