Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 沙巴罐头';找不到变量:模块_Javascript_Angularjs_Chutzpah - Fatal编程技术网

Javascript 沙巴罐头';找不到变量:模块

Javascript 沙巴罐头';找不到变量:模块,javascript,angularjs,chutzpah,Javascript,Angularjs,Chutzpah,我刚刚安装了Chutzpah来运行基于Jasmine的Javascript单元测试。我对茉莉花还不熟悉,而且脾气暴躁,棱角分明。 我已经为角度过滤器创建了一个测试文件。测试文件名为filters.spec.js,包含以下代码 /// <reference path="c:\users\octaviane.cvuintelligence\documents\visual studio 2013\Projects\PersonalTrainer\PersonalTrainer\Scrip

我刚刚安装了Chutzpah来运行基于Jasmine的Javascript单元测试。我对茉莉花还不熟悉,而且脾气暴躁,棱角分明。 我已经为角度过滤器创建了一个测试文件。测试文件名为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");
    }));
  });
});
//
/// 
/// 
描述(“过滤器”,函数(){
beforeach(函数(){module('7minWorkout')});
描述(“第二时间过滤器”,函数(){
它('应将整数转换为时间格式',
注入(函数($filter){
期望($filter(“secondsToTime”)(5)).toBe(“00:00:05”);
期望($filter(“secondsToTime”)(65)).toBe(“00:01:05”);
预期($filter(“secondsToTime”)(3610))
.托比(“01:00:10”);
}));
});
});
如您所见,我引用了angular.js、jasmine.js和创建7min锻炼模块的js文件。我是个新手,所以请不要生我的气。
运行此测试文件时(右键单击Visual Studio中的文件内容-运行JS测试),我遇到以下错误:找不到变量:module找不到变量:inject。请帮帮我。谢谢。

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

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

对于找到本文的所有新手,要让Chutzpah For visual studio实际运行jasmine的单元测试,您需要在单元测试文件中引用以下文件:

  • angular.js
  • angular-mocks.js
  • 茉莉花
  • 所有的JS文件构成了测试过程中涉及到的应用程序——您在其中创建了要测试的angular模块/控制器/函数的JS文件

希望这对某人有所帮助:)

我不确定Visual Studio如何运行您的测试。你能从命令行试试吗(遵循Chutzpah的指南)这似乎不起作用,我下载了jasmine.d.ts,我在我的单元测试文件(filters.spec.js)中引用了它,在jasmine.js引用之后,我得到了相同的错误,前三个bulletpoints中的这些文件只有在您使用这些软件包时才是必需的。@krillgar OP问题与jasmine angular filter的单元测试有关,所以-是。。。