首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尚未为上下文加载模块名称“lib/chai”:使用require([])

尚未为上下文加载模块名称“lib/chai”:使用require([])
EN

Stack Overflow用户
提问于 2016-03-21 03:05:01
回答 1查看 754关注 0票数 0

它在karma-jasmine上工作得很好……但是不能和karma-mocha……y??

代码语言:javascript
复制
module.exports = function(config){
   config.set({

   basePath : '../app',

   preprocessors: {
     '**/*.html':'ng-html2js'
   },

   ngHtml2JsPreprocessor: {
     prependPrefix: '/'
   },

   files : [
     'node_modules/jquery/**/*.js',
     'lib/angular/angular.js',
     'lib/angular/angular-*.js',
     '../test/lib/angular-mocks.js',
     '../test/lib/sinon-1.15.0.js',
     '../test/lib/chai.js',
     'js/**/*.js',
     '../test/unit/**/*.js',
     '**/*.html'
   ],

   autoWatch : true,

   frameworks: ['mocha','requirejs','chai'],

   browsers : ['Chrome'],

   plugins : [
     'karma-chrome-launcher',
     'karma-mocha',
     'karma-ng-html2js-preprocessor',
     'karma-requirejs',
     'karma-chai'
   ],

   junitReporter : {
     outputFile: 'test_out/unit.xml',
     suite: 'unit'
   }

 });

};

我的示例代码:

代码语言:javascript
复制
'use strict';

describe('calendarHelper', function() {
   beforeEach(module('eventsApp'));

   it('should return January when given a zero',       inject(function(calendarHelper) {
      expect(calendarHelper.getMonthName(0)).toBe('January');
   }))
});
EN

回答 1

Stack Overflow用户

发布于 2016-07-15 22:27:26

我在使用Jasmine时遇到了类似的情况。我想介绍一下我的解决方案。

尝试错误消息中所写的内容。这里有一个网站的链接:http://requirejs.org/docs/errors.html#notloaded

在您的等级库文件中使用以下代码:

代码语言:javascript
复制
//If this code is not in a define call,
//DO NOT use require('foo'), but use the async
//callback version:
require(['foo'], function (foo) {
    //foo is now loaded.
});

我在Coffeescript中为Jasmine和Sinon写的案例是这样的:

代码语言:javascript
复制
sinon = require(['sinon', 'jasmine-sinon']) (foo)->

现在,我可以在单元测试中使用sinon作为对象,也可以遵循sinon以及jasmin-sinon的文档。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36118185

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档