У меня есть эта gulp
задача:Тестирование хром расширение - требуется ошибка
gulp.task('test', function() {
return gulp.src('test/runner.html')
.pipe(mochaPhantomJS());
});
Это мой runner.html
:
<!DOCTYPE html>
<html>
<head>
<title>Mocha</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="../node_modules/mocha/mocha.css" />
</head>
<body>
<script src="../node_modules/mocha/mocha.js"></script>
<script>mocha.setup('bdd')</script>
<script src="../node_modules/chai/chai.js"></script>
<script src="../node_modules/requirejs/require.js"></script>
<script>
var assert = chai.assert;
var expect = chai.expect;
var should = chai.should();
</script>
<script src="spec/test.js"></script>
<script>
if (window.mochaPhantomJS) {
console.log('Running mochaPhantomJS...');
mochaPhantomJS.run();
} else {
console.log('Running mocha...');
mocha.run();
}
</script>
</body>
</html>
А вот мой test.js
файл:
var chrome = require('sinon-chrome');
var popup = require('../../source/scripts/popup');
describe('sumit', function(){
before(function() {
global.chrome = chrome;
});
it('Should return 1', function(){
assert(popup.sum(0,1) === 1);
});
})
Но когда Я запускаю gulp test
Я получаю это сообщение об ошибке:
Error: Module name "sinon-chrome" has not been loaded yet for context: _. Use require([])
http://requirejs.org/docs/errors.html#notloaded
in defaultOnError at file:///c:/dev/extensions/NEW_EXPRESS/node_modules/requirejs/require.js:1 in onError at file:///c:/dev/extensions/NEW_EXPRESS/node_modules/requirejs/require.js:547 in localRequire at file:///c:/dev/extensions/NEW_EXPRESS/node_modules/requirejs/require.js:1433 in requirejs at file:///c:/dev/extensions/NEW_EXPRESS/node_modules/requirejs/require.js:1794
Пожалуйста [править] вопрос быть по теме: включать в себя ** ** полный [mcve], дублирующий проблема. Включая * manifest.json *, некоторые из фоновых * и * скриптов содержимого. Вопросы, требующие помощи по отладке («** почему этот код не работает? **)) должны включать: ► желаемое поведение, ► конкретную проблему или ошибку * и * самый короткий код, необходимый для его воспроизведения ** в вопросе сам**. Вопросы без четкого описания проблемы не полезны другим читателям. Смотрите: «** Как создать [mcve] **», [о каких темах я могу спросить здесь?] (Http://stackoverflow.com/help/on-topic) и [ask]. – Makyen
Ссылка в ошибке означает, что вы должны использовать метод async require. I.e 'require (['sinon-chrome'], function (chrome) { // все остальное в test.js });' Вы по-прежнему получаете ту же ошибку даже при внесенных изменениях? – dan