Я пытаюсь использовать sinon в своем приложении ember-cli, и я не могу понять, как его импортировать. У меня есть оператор импорта в спецификации:Как я могу импортировать sinon в тест ember-cli?
import { sinon } from 'sinon';
, а затем я пытаюсь использовать Sinon в тесте:
it('finds the todo model', function() {
var store = this.subject().store;
var spy = sinon.spy(store, 'find');
this.subject().model();
expect(spy).to.have.been.called;
});
Однако, когда я бегу ember test
из командной строки я получаю эту ошибку:
not ok 8 PhantomJS 1.9 - TestLoader Failures my-app/tests/unit/routes/application-test: could not be loaded
---
message: >
Could not find module `sinon` imported from `my-app/tests/unit/routes/application-test`
stack: >
Error: Could not find module `sinon` imported from `my-app/tests/unit/routes/application-test`
at requireFrom (http://localhost:7357/assets/vendor.js:119)
at reify (http://localhost:7357/assets/vendor.js:106)
at http://localhost:7357/assets/vendor.js:149
at tryFinally (http://localhost:7357/assets/vendor.js:30)
at http://localhost:7357/assets/vendor.js:156
at http://localhost:7357/assets/test-loader.js:29
at http://localhost:7357/assets/test-loader.js:21
at http://localhost:7357/assets/test-loader.js:40
at http://localhost:7357/assets/test-support.js:13918
Log: >
...
Единственное, что я заметил, что ember-sinon
имеет очень легкий след в каталоге bower_components/
:
$ls bower_components/sinon/
index.js
Я попытался изменить линию импорта на import { sinon } from 'sinon/index';
, но это не сработало.
Любая помощь была бы принята с благодарностью. Я очень новичок в модулях ember-cli, bower и es6, поэтому ссылки на фон на этих фрагментах будут очень благодарны. Благодаря!
Чтобы избавиться от ошибки jshint, вы должны добавить «sinon» в массив predef в «tests/.jshintrc». Не весь проект «.jshintrc» !! Должен выглядеть примерно так: {"predef": ["sinon"]}; – phlppn
спасибо @phlppn, что было точно связано с jshint. – spinlock