我正试图围绕 Arquillian 进行思考,但我只是没有从根本上理解in-container
模式与as-client
模式之间的区别。
我的理解是,使用 Arquillian/ShrinkWrap:
- 您创建一个仅包含您想要集成和测试的组件的存档
- 您将此内存存档流式传输到实际容器(部署它)
- 您将存档作为容器内的测试运行
- 您断言该测试会发生什么
所以,从我的角度来看,一切都“感觉”就像它永远一样in-container
,因为测试总是在容器内执行。
请帮助我了解这两种模式之间的区别以及这两种模式适合哪种类型的集成测试。提供具体代码示例(而不是直接来自参考指南的模糊代码示例!)的奖励积分解释了为什么/如何在两种模式下运行测试。提前致谢!