如何在ember-cli中声明jshint的全局变量以便忽略?

时间:2015-05-04 23:00:25

标签: ember.js ember-cli jshint sinon

我在我的规范中使用sinon并将其包含在ember-cli docs中描述的Brocfile中。这有效,我可以在我的规格中使用sinon。但是,jshint抱怨说没有定义sinon:

1 error: expected false to be truthy
    AssertionError: unit/views/edit-todo-test.js should pass jshint.
    unit/views/edit-todo-test.js: line 11, col 18, 'sinon' is not defined.

我可以通过在规范中将sinon声明为全局来解决这个问题:

/* global sinon */

但是,我必须将其添加到每个规范(以及beforeEachafterEach等等)。我更倾向于只在全局配置一次,但是当我将这些全局变量添加到.jshintrc中的predef数组时,它们不会被忽略,我仍然会得到错误。例如:

.jshintrc:

{
  "predef": [
    "document",
    "window",
    "-Promise",
    "sinon"
  ],
<-- snip -->

仍然失败并显示错误'sinon' is not defined.

非常感谢任何帮助。谢谢!

2 个答案:

答案 0 :(得分:11)

您正在编辑错误的1994-02-21, 1 1991-02-28, 2 文件。位于根目录中的那个是针对该应用的。

测试还有一个.jshintrc个文件。编辑位于.jshintrc

答案 1 :(得分:0)

您也可以基于每个文件进行设置。例如,我有一个我只在服务中使用的库。

/* global ole*/
import Ember from 'ember';
import ajax from 'ic-ajax';

export default Ember.Service.extend({
    //code goes here
)}