1

我正在完成这个 Angular js 教程的第三步。http://docs.angularjs.org/tutorial/step_03

最后一项任务是“pause()在端到端测试中添加一条语句并重新运行它”。

我能够添加pause()并且测试应该暂停。问题是,如何恢复?

pause() 此处的文档指示在控制台中调用resume()或单击 Runner UI 中的恢复链接,但我似乎无法弄清楚如何从控制台调用恢复,也无法在 Runner UI 中找到恢复链接。

你怎么叫resume()

4

1 回答 1

2

我的猜测是您将pause()函数调用放在test\e2e\scenarios.js文件中的错误位置。我做了同样的事情 - 测试不会暂停,它会完成第一个或两者或两者都不完成,具体取决于您pause()拨打电话的位置。

像这样把pause()电话放在你的电话里beforeEach(...)

beforeEach(function() {
    browser().navigateTo('app/index.html');

    pause();
});

it(...)然后在函数的右括号之后直接添加教程中给出的新方法it('should filter the phone...)

现在 e2e 测试页面将在执行每个部分之前暂停,it(...)并让您在测试运行之前更改 DOM 内容。例如,如果您单击“恢复”而不搜索任何内容,则第一个测试通过,因为列表中有 3 个电话条目。但是,如果您搜索 xyz,它将失败,因为列表中不会有任何电话条目。

您还可以在每个子测试之前pause()调用expect(repeater(...))input('...')调用以在每个子测试之前暂停测试。pause()通过在每次调用之前放置一个expect(...)DOM,您可以在调用更改它之后但在进行断言之前编辑 DOM,input('...')这样您就可以看到输入如何更改内容以及为什么自己更改该内容可能会导致断言 ( expect(...)) 失败或成功。

于 2014-03-14T04:43:28.320 回答