1
我试图创建一个Maven插件,用于在面向服务的体系结构中独立运行测试。给定一个项目布局,如:在兄弟模块之间共享动态生成的属性
Service
|- webapp
|- int-test
我想:
- 通过呼唤配置“属性供应商”动态生成的属性值。一个这样的房产供应商可能会呼叫Web服务以获取未使用的账户ID,根据该账户ID进行测试数据的分级。
- 将这些值替换为webapp和int-test模块的属性文件。
- 启动web应用程序
- 运行测试。
我认为这样做将是插件的配置添加到父POM的最佳方式,然后用户可以简单地签出项目,cd到父POM的目录和执行该插件的目标运行针对本地运行的服务进行的测试。
我不太确定如何执行上述第2步。理想情况下,我宁愿没有插件更改int-test/src/test/resources
或webapp/src/main/config
中的属性文件,因为这样人们可能会错误地检查这些更改。我宁愿替换只出现在各自的target/
目录中。
我已经看到过滤可以用来解决类似的问题,但我还没有看到任何解决方案涉及共享模块之间动态生成的属性。
任何建议将不胜感激。
怎么样,写你的动态生成文件属性文件。然后使用maven属性插件[1]读取属性。然后根据这些属性运行过滤[2]。 (AFAIU,我们可以给maven属性作为过滤变量) [1] http://haroon.sis.utoronto.ca/zarar/properties-maven-plugin/index.html [2] http:// maven。 apache.org/plugins/maven-resources-plugin/examples/filter.html – 2012-01-04 04:40:10
问题是,这些属性需要在父级POM级别读取,然后过滤到子项目的属性文件中。 – 2012-01-04 15:07:31