【发布时间】:2014-08-22 20:18:09
【问题描述】:
我创建了一个 Ember 测试助手,它可以正常工作并在 Ember qunit 测试中成功使用,但是每次 JSHint 运行它总是给我一个错误,说我的测试助手没有定义。
我还需要做些什么来注册我的测试助手吗?如果没有,有没有办法在 JSHint 中抑制这个错误?
这是我的 Ember 测试助手。它没有运行时错误,我的测试成功通过,我什至设置了一个断点并使用调试器单步执行,所以我知道 JSHint 错误是误报。
Ember.Test.registerHelper('hasText', function (app, selector, text) {
...
});
这是在 custom.js 帮助文件中定义的,该文件被导入到 Ember-cli 为我生成的 /tests/test-helper.js 文件中。
import resolver from './helpers/resolver';
import { setResolver } from 'ember-qunit';
import testing from './helpers/custom';
setResolver(resolver);
document.write('<div id="ember-testing-container"><div id="ember-testing"></div></div>');
我得到的错误是:
.../tests/acceptance/outages-test.js: line 20, col 11, 'hasText' is not defined.
.../tests/acceptance/outages-test.js: line 22, col 10, 'hasText' is not defined.
这是验收测试文件(第 20 和 22 行是靠近底部的两条“ok”行):
import Ember from 'ember';
import startApp from '../helpers/start-app';
var App;
module('Acceptance: Outages', {
setup: function() {
App = startApp();
},
teardown: function() {
Ember.run(App, 'destroy');
}
});
test('...', function() {
visit('/');
andThen(function() {
if (route('index').get('controller.outages.content').length > 0) {
ok(!hasText('.warning', 'No outages planned'), 'we have outages');
} else {
ok(hasText('.warning', 'No outages planned'), 'we have no outages');
}
});
});
我不确定我还能做什么;我不希望这些错误继续污染我的 JSHint 输出。
已编辑以包含错误并测试它们正在发生的情况。
【问题讨论】:
-
请提供准确的 JSHint 错误消息,包括包含报告的实际行的代码部分。
-
我已经用错误消息和正在发生的测试更新了我的问题。
标签: javascript ember.js jshint