使用Chai期望平等的多个链

时间:2017-03-12 22:31:25

标签: node.js mocha chai

如果可能的话,我试图摆脱var res。

我原本希望使用

expect(booking.customers[0]).to.equal('CUST01').and.expect(booking.customers[0]).to.equal('CUST01') 

但这不起作用。

这是有效的,但我想在可能的地方浓缩。

describe('#create', function() {

  it('should be able to create a booking with customer and provider', function(done) {
    var mock_customers = ['CUST01'];
    var mock_providers = ['PROV01'];

    bookings.create(mock_customers, mock_providers, function(err, booking) {
      var res = booking.customers[0] == 'CUST01' && booking.providers[0] == "PROV01";
      expect(res).to.equal(true); 
      done();
    });
  });

});

思想?

1 个答案:

答案 0 :(得分:1)

查看API,看起来你不能使用'和'链接多个'expect'。您只能对原始值使用链式测试,例如

expect({ foo: 'baz' }).to.have.property('foo').and.not.equal('bar');

您可以做的是将测试分成两行

expect(booking.customers[0]).to.equal('CUST01');
expect(booking.providers[0]).to.equal('PROV01');

或跳过定义'res'并直接测试

expect(booking.customers[0] == 'CUST01' && booking.providers[0] == "PROV01").to.equal(true);