Javascript 沙巴罐头';找不到变量:模块
我刚刚安装了Chutzpah来运行基于Jasmine的Javascript单元测试。我对茉莉花还不熟悉,而且脾气暴躁,棱角分明。 我已经为角度过滤器创建了一个测试文件。测试文件名为filters.spec.js,包含以下代码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
/// <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的单元测试有关,所以-是。。。