如何重用一系列期望?
例如:

expect(savedUser).to.have.all.keys(['fbId', 'fbName', 'gender', 'birthdate', 'aboutMe']);
expect(savedUser.fbId).to.equal(u.fbId);
expect(savedUser.fbName).to.equal(u.fbName);
expect(savedUser.gender).to.equal(u.gender);
expect(savedUser.birthdate).to.equal(u.birthdate);
expect(savedUser.aboutMe).to.equal(u.aboutMe);


我想在针对不同对象的多个测试中验证这些条件。
之前,我曾尝试在助手实用程序模块中隔离这些期望,但是尽管中间有一些关于失败期望的提及,但这些测试实际上并没有表明最终失败。

什么是达到预期结果的更好方法?

最佳答案

只需将它们包装在一个函数中即可。

function validateSavedUser(savedUser) {
  expect(savedUser).to.have.all.keys(['fbId', 'fbName', 'gender', 'birthdate', 'aboutMe']);
  expect(savedUser.fbId).to.equal(u.fbId);
  expect(savedUser.fbName).to.equal(u.fbName);
  expect(savedUser.gender).to.equal(u.gender);
  expect(savedUser.birthdate).to.equal(u.birthdate);
  expect(savedUser.aboutMe).to.equal(u.aboutMe);
}

关于javascript - Chai 重用系列期望,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47700692/

10-12 16:27