我在基于Apache sling的环境中工作。我的大部分代码库都可以使用Junit测试在编译时“正常”进行单元测试。
有一部分功能需要通过框架传递的HTTP请求的上下文才能正常工作,而Mock所有框架所提供的对象依赖的工作太难了。
我在测试构建周期中的当前方法是: 1)Junit使用标准JUnit测试测试我能做的一切 2)编译并将代码部署到我的本地实例 3)对我的本地实例上运行“test”的特定“测试”资源发出HTTP请求并返回一些值 4)检查返回值与预期值 (重复3-4)
我试图找出如何最有效地在平台之外定义我的测试(从我发出HTTP请求的地方)并从我的本地实例的上下文中执行它们。
关于构建和执行测试套件的最佳方法的想法给出了这些要求吗?
答案 0 :(得分:0)
您尝试做的事情我认为是通常所谓的“集成测试”或“验收测试”。虽然线条模糊,但是进行集成测试/验收测试的原因是它们通常涉及多个组件,其中单元测试应该只关注一个组件并模拟所有内容。
Mybest建议您创建一个单独的测试套件,它将启动您的吊索服务器(在预定义的端口上),然后运行一系列测试,这将对您的服务器进行RESTful调用。
我建议您使用Spring Rest Template or Jersey's Rest Client和JUnit。您的构建脚本必须启动服务器。许多人使用Cargo(不幸的是,现在货物站点已经关闭)来做到这一点。
慢慢地你会创建一个库和方便的装置/方法/对象,以便它变得更容易。