使用Protractor设置API应用程序的最佳方法是什么?

时间:2015-01-20 21:10:05

标签: continuous-integration protractor

我正在设置我的前端应用程序以在CircleCI中使用持续集成。单元测试工作正常,但端到端测试不是。

问题在于它需要后端(API)服务器运行,而我们的服务器在另一个完全不同的应用程序中。那么,设置这个后端服务器的最佳方法是什么(考虑CI)?

我考虑过在heroku上传它,但是我必须通过git手动更新代码。另一种选择是将代码下载到CI VM并直接在那里运行服务器,但这只是太多的工作(安装ruby,postgres,gems ......),它似乎绝不是最好的选择。

有没有人经历过同样的情况?你们通常如何应对这种情况?

2 个答案:

答案 0 :(得分:1)

我最终在CI内部做了一切。我制作了一些自定义脚本,每次运行测试套件时都会配置后端项目。此外,我使用后端代码和宝石缓存了该文件夹(安装时间约为2分钟)。

配置部分现在增加约20秒的总时间,所以这不是什么大不了的事。虽然我仍然认为这可能不是最好的方法,但它有一些优点,例如不用担心更新后端代码(它自动从master中提取)或其数据库(它在更新后运行rake db:reset代码)。

答案 1 :(得分:0)

假设API服务器正在某处运行,请将前端应用程序配置为在测试/ CI环境中指向那里,至少开始。如果有多个API环境,请选择与前端环境最匹配的环境(例如开发,登台等)。

如果/当您需要在每次构建API时运行e2e测试或者匹配前端和API的特定构建版本时,它会变得更加复杂。在这种情况下,您必须在测试过程中运行API服务器。