量角器E2E - 您如何管理数据库?

iQ.*_*iQ. 10 unit-testing node.js angularjs angularjs-e2e protractor

我目前正在依靠Node + Angular堆栈并利用Karma和Protractor进行测试.

我目前很难弄清楚如何处理创建和编辑数据的E2E测试,以及加载预期数据的需求.

搜索谷歌会出现大量各种自定义方法.我经常阅读'你应该设置你的数据'或'只是创建一个模拟'而不需要更多关于一个共同过程的细节.其他人从头开始创建一个全新的模拟模块需要花费太多开销.

我只想知道人们目前是如何做到的,并且有一个标准吗?或者人们往往只是嘲笑后端?自从你在浏览器范围内以来,模拟后端似乎并不像Karma那样简单.

我是按照预期使用MongoDB,所以很高兴在这个场景中做其他事情.特别是通过量角器自动加载夹具和数据库清理会很好.

nil*_*lsK 0

Protractor 仅用于 e2e 测试。这意味着,它与您的数据库无关。您可以使用任务运行程序(如 grunt 或 gulp)来清理并填充数据库,然后让任务运行程序开始量角器测试(我从未做过最后一个,但我认为这是可能的)。好吧,我知道这不是您想要的答案,但也许我可以为您指出正确的方向。

  • 我想使用 Grunt 可能是一种选择,即使它是 Protractor 外部的。我明白你的意思,它与数据库无关,但由于你 E2E 通常测试“整个”堆栈,所以自然包括数据库,特别是当你的站点是状态和数据驱动时。所以我们需要确保“可重复性”,这意味着我必须考虑数据库,因此我的问题在这里。 (5认同)