ember-cli 使用自定义断言助手扩展断言

ember-cli extend assert with custom assertion helpers

在最新的 ember-cli 中,在单元测试中 test 函数期望作为最后一个参数的函数将 assert 对象作为第一个参数。

我想知道如何扩展此对象以添加我自己的自定义断言助手?

例如,我想添加一个 controlDisabled 助手,如果控件被禁用,它将 return 为真,否则为假。所以在某个地方(但不是在每个测试文件中)我想扩展作为参数给出的 assert 对象,如下所示:

assert.controlDisabled = function(selector, message) {
  return this.ok(findWithAssert(selector).attr('disabled'), message);
};

我应该在哪里定义它?

assert 对象是一个单例实例,您可以使用 QUnit.assert 获得访问权限。所以下面应该工作

import QUnit from 'qunit';

QUnit.assert.controlDisabled = function(selector, message) {
  return this.ok(findWithAssert(selector).attr('disabled'), message);
};