如何对 nodejs/ angularjs应用程序进行全栈测试。我一直在使用zombiejs时遇到很多问题,其中测试间歇性地失败并通过。
我想要模拟用户交互的测试(例如用于 rails 的 capybara 或用于 nodejs 的僵尸)。
测试应该是这样的形式(像黄瓜测试一样写):
- 我去 /login 页面
- 我填写电子邮件“test@user.com”
- 我填写密码“秘密”
- 我点击提交
- 我应该在 /users 页面上
是否有任何框架可以帮助我正确地对角度应用程序进行全栈测试?
你看过业力吗?该项目的 Github 源代码在这里。我发现 Karma 是一个出色的工具,可以在真实场景中对应用程序进行单元测试和测试。Karma 具有Angular Scenario Runner e2e 测试 (ngScenario),可模拟用户交互并可能满足您的需求。它还“理解”AngularJS,并且可以更轻松地测试 AngularJS 应用程序。例如,您可以编写如下测试(来自 AngularJS 文档):
describe('Buzz Client', function() {
it('should filter results', function() {
input('user').enter('jacksparrow');
element(':button').click();
expect(repeater('ul li').count()).toEqual(10);
input('filterText').enter('Bees');
expect(repeater('ul li').count()).toEqual(1);
});
});
导航到页面,填写输入框(如电子邮件和密码),单击提交按钮等,并验证整个应用程序是否按预期工作。