我在一个基于Apache sling的环境中工作。我的大部分代码库都可以在编译时使用Junit测试“正常”地进行单元测试。
有一个功能子集需要通过Framework传入的HTTP请求上下文才能正常工作,而Mock我所依赖的所有Framework提供的对象的工作太难了。
在我的测试构建周期中,我目前的方法是: 1)使用标准的Junit测试对我能做的一切进行单元测试2)编译代码并将其部署到本地实例3)向本地实例上运行“测试”并返回某个值的特定“测试”资源发出HTTP请求4)根据期望值检查返回值(重复3-4)
我正在尝试弄清楚如何最有效地定义平台外的测试(从平台发出HTTP请求的地方),并从本地实例的上下文中执行它们。
对构建和执行测试套件的最佳方式有什么想法吗?
发布于 2012-05-21 02:19:49
我相信你要做的是运行通常被称为“集成测试”或“验收测试”的测试。尽管界限模糊,但集成测试/验收测试通常涉及多个组件,而作为单元测试,它们应该只关注一个组件并模拟所有组件。
Mybest建议您创建一个单独的测试套件,该测试套件将启动您的sling服务器(在预定义的端口上),然后运行一系列测试,这些测试将对您的服务器进行RESTful调用。
我建议您结合使用JUnit和Spring Rest Template or Jersey's Rest Client中的任何一个。您的构建脚本必须启动服务器。许多人使用Cargo (不幸的是,货物站点现在已经关闭)来做到这一点。
慢慢地,您将创建一个库并方便地使用fixtures/method/objects,这样它就会变得更容易。
https://stackoverflow.com/questions/10675394
复制相似问题