禁用茉莉花期望,如 xdescribe 或 xit



在Jasmine网站上,我看到我们可以按xdescribe禁用套件,也可以按xit禁用单个规格。有没有办法只禁用期望(如xexpect)?

我问这个问题的原因是因为我正在使用量角器编写 e2e 测试,在我们的持续集成中,我们还没有(如果有的话)可以访问数据库,尽管在本地我们可以运行真正的端到端测试访问数据库,例如。

我想根据配置或环境变量将个人期望标记为可选。最好进行一次切换,然后围绕期望创建一个包装器,只有在我们在本地运行测试(可以访问数据库)时才会失败。

例如,我可以创建一个新的规范系列:

if (process.env.DB_AVAILABLE) {
  dbit = it;
} else {
  dbit = xit;
}

并编写依赖于数据库连接的规范,如下所示:

dbit('creates new user', function () {});

有没有办法对expect做同样的事情(例如 dbexpect )?

如果我的方法有根本性的问题,不要退缩,让我知道。

您可以通过

使用空函数实现所有方法/属性来创建自己的xexpect

var xexpect = function() {
  return xexpect;
};
Object.getOwnPropertyNames(jasmine.Expectation.prototype).forEach(function(name){
  xexpect[name] = xexpect;
});
Object.defineProperty(xexpect, 'not', {get: xexpect});

用法:

xexpect(1).toBeGreaterThan(2);
xexpect(true).not.toEqual(true);

相关内容

  • 没有找到相关文章

最新更新