我想允许Web服务层(Web服务用Java编写)的消费者创建自动化集成测试,以验证消费者将使用的Web服务层的版本仍然适用于消费者(即Web服务处于与消费者不同的发布生命周期,其API或行为可能会改变 - 它们不应该在没有通知消费者的情况下改变,但是这种自动化测试的目的是验证它们没有改变)如何最好地启用Web服务使用者来集成测试事务性Web服务?
如果Web服务实际执行事务(更新数据库表),我该怎么办?有没有一种常见的做法来处理这个问题,而不必将逻辑放入Web服务本身,以便在单元测试中了解它并在完成后回滚事务? (基本上可以处理Web服务测试的功能)。或者,这是推荐的方式吗?
消费者是由我们公司的一个开发团队创建的,Web服务是由一个独立团队创建的。该测试将在集成环境中运行(集成环境是由QA功能测试仪,督促环境背后的一个环境中使用的测试环境背后一个环境)
理想情况下,我不希望修改测试环境和生产(修改注入的内容)之间的部署工件,或使用单独的工具来执行DI。 Spring(除非有一些非常轻巧的东西,我可以轻松部署)。我可以在代码中添加一个检查来检查系统属性,如果我们在测试环境中,那么将创建的Web服务实例将成为测试实例。好/坏主意?如果我真的想要执行db事务呢? (有些情况下我必须执行它才能成为有效的测试) – BestPractices 2012-08-02 14:22:23