我们有几个网络服务系统(cxf和hibernate)。 Web服务由webfrontends(rails)使用。
我想用capybara编写一些自动集成测试,为了测试正确的工作流程,我们需要在数据库中使用一些testdata。由于db模型非常复杂,因此使用sql创建和获取测试数据将非常困难。
另一种选择是使用webservices本身来设置一些数据,即在测试的设置中我可以使用一些“createCustomer”接口来使用应用程序提供的业务功能。
有没有人对测试数据的设置有一些经验?我个人不喜欢使用业务接口来创建测试数据的方法,因为我会将前端测试耦合到一个与真正无关的进程。
答案 0 :(得分:0)
一些想法:
- 使用SQL脚本(我知道你写的很难,但是IME,SQL脚本很容易设置,易于阅读和维护)
- 使用您的RDBMS的导入/导出实用程序(例如,针对Oracle的impdp / expdp)
- 为您的RDBMS设置虚拟机,并在每次运行测试时回滚到快照