Chutzpah - 无法找到变量:模块

时间:2016-01-04 11:21:47

标签: javascript angularjs chutzpah

我刚刚安装了Chutzpah来运行基于Jasmine的Javascript单元测试。我是茉莉花以及Chutzpah和棱角分明的新手。 我为角度滤镜创建了一个测试文件。测试文件名为filters.spec.js,并包含以下代码

 /// <reference path="c:\users\octaviane.cvuintelligence\documents\visual   studio 2013\Projects\PersonalTrainer\PersonalTrainer\Scripts/jasmine.js" />
/// <reference path="c:\users\octaviane.cvuintelligence\documents\visual studio 2013\Projects\PersonalTrainer\PersonalTrainer\Scripts/angular.js" />
/// <reference path="../app.js" />


describe("Filters", function () {
  beforeEach(function () { module('7minWorkout') });
  describe("secondsToTime filter", function () {
    it('should convert integer to time format',
    inject(function ($filter) {
        expect($filter("secondsToTime")(5)).toBe("00:00:05");
        expect($filter("secondsToTime")(65)).toBe("00:01:05");
        expect($filter("secondsToTime")(3610))
        .toBe("01:00:10");
    }));
  });
});

如您所见,我引用了angular.js,jasmine.js和创建7minWorkout模块的js文件。我对此很陌生,所以请不要生我的气。 运行此测试文件(右键单击Visual Studio中的文件内容 - 运行JS测试)时,出现以下错误:无法找到变量:模块可以&#39 ;找到变量:inject 。请帮帮我。感谢。

2 个答案:

答案 0 :(得分:3)

所以,我最终通过在单元测试文件中添加一个引用到angular-mocks.js以及我测试的代码定义的实际JS文件(filters.js)来完成它的工作

对于找到这篇文章的所有新手,要让Chutzpah for visual studio实际运行UnitTests for jasmine,你需要在你的单元测试文件中引用以下文件:

  • angular.js
  • 角mocks.js
  • jasmine.js
  • 所有JS文件构成了您的应用程序,它们涉及测试过程 - 您创建了您正在测试的角度模块/控制器/功能的JS文件。

希望这有助于某人:)

答案 1 :(得分:-1)

您需要使用jasmine typings(d.ts)才能在Typescript中编写测试。现在你只引用普通js中的jasmine,所以module是一个未知的关键字。