【问题标题】:Angularjs full stack testingAngularjs 全栈测试
【发布时间】:2023-03-15 08:57:01
【问题描述】:
如何对 nodejs/angularjs 应用程序进行全栈测试。我在zombiejs 遇到了很多问题,测试间歇性地失败并通过。
我想要模拟用户交互的测试(例如用于 rails 的 capybara 或用于 nodejs 的僵尸)。
测试应该是这样的形式(像黄瓜测试一样写):
- 我进入 /login 页面
- 我填写邮箱“test@user.com”
- 我填写密码“secret”
- 我点击提交
- 我应该在 /users 页面上
是否有任何框架可以帮助我对 Angular 应用程序进行全栈测试?
【问题讨论】:
标签:
node.js
testing
angularjs
integration-testing
zombie.js
【解决方案1】:
你看过Karma吗?该项目的 Github 源代码是 here。我发现 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);
});
});
导航到页面、填写输入框(如电子邮件和密码)、单击提交按钮等并验证整个应用程序是否按预期工作。