首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用JavaScript、茉莉花和testr的RequireJS依赖注入

使用JavaScript、茉莉花和testr的RequireJS依赖注入
EN

Stack Overflow用户
提问于 2012-09-20 19:21:09
回答 1查看 2.1K关注 0票数 8

我只是在我的单元测试策略中寻找使用RequireJS和Jasmine的依赖注入。我非常喜欢测试r背后的想法,我试着按照github中的例子安装testr,但我不知道哪里出了问题。我总是会犯错误

错误:模块尚未加载:今日

当testr试图加载将要测试的模块时。

这里有些背景..。

index.html .

代码语言:javascript
复制
<script data-main="config" src="../../assets/js/libs/require.js"></script>
<script src="vendor/testr.js"></script>

config.js .

代码语言:javascript
复制
require.config({

  // Initialize specs.
  deps:["main"],
...
...
});

main.js .

代码语言:javascript
复制
require([
  // Load the example spec, replace this and add your own spec
  "spec/today"
], function() {
  var jasmineEnv = jasmine.getEnv();
  jasmineEnv.execute();
});

spec\today.js ..

代码语言:javascript
复制
describe('Today print', function() {
  var date = {}, today;
  beforeEach(function() {
     date.today = new Date(2012, 3, 30);
     today = testr('today', {'util/date': date});  //Here is where the error is thrown
  });

  it('is user-friendly', function() {
     expect(today.getDateString()).toBe('Today is Monday, 30th April, 2012');
  });
});

today.js .

代码语言:javascript
复制
define(['string', 'util/date'], function(string, date) {
  return {
    getDateString: function() {
      return string.format('Today is %d', date.today);
    }
  }
});

有谁遇到过同样的麻烦吗?我使用的是RequireJS 2.0.6

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2012-09-21 05:03:34

在将您的“今天”模块与testr一起使用之前,需要从需求加载它。试一试如下:

代码语言:javascript
复制
require(['today'], function(){
    describe('Today print', function() {
      var date = {}, today;
      beforeEach(function() {
         date.today = new Date(2012, 3, 30);
         today = testr('today', {'util/date': date});  //Here is where the error is thrown
      });

      it('is user-friendly', function() {
         expect(today.getDateString()).toBe('Today is Monday, 30th April, 2012');
      });
    });
});

请参阅:http://cyberasylum.janithw.com/mocking-requirejs-dependencies-for-unit-testing/

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

https://stackoverflow.com/questions/12519470

复制
相关文章

相似问题

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