柴重用系列期望
chai reuse series of expects
如何重用一系列期望值?
例如:
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);
}
如何重用一系列期望值? 例如:
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);
}