0

我的场景中有一个步骤可以填写多个文本字段并从下拉列表中选择选项。我想断言输入的文本和选择的选项对于每个都是正确的。

expect(action1).to.eventually.have.string('some text').and.notify(callback);
expect(action2).to.eventually.have.string('some text').and.notify(callback);
expect(action3).to.eventually.have.string('some text').and.notify(callback);

我遇到的问题是,如果第一个或第二个期望动作通过,那么任何后续动作都不会被执行,从而导致误报。

理想情况下,我正在寻找一种在没有回调的情况下进行通知的方法,直到最后一次期望。任何人都知道如何做到这一点?

4

1 回答 1

0

实际上,我在另一个我最初没有注意到的 StackOverflow 问题中找到了答案。

一个人如何将 Q.all 与 chai-as-promised 一起使用?

使用 Q 它看起来像这样:

var Q = require('q');
var chai = require('chai');
var expect = chai.expect;
var should = chai.should();

Q.all([
  expect(action1).to.eventually.have.string('some text'),
  expect(action2).to.eventually.have.string('some text'),
  expect(action3).to.eventually.have.string('some text'),
]).should.notify(callback);
于 2017-02-27T21:06:57.540 回答