我刚刚安装了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 。请帮帮我。感谢。
答案 0 :(得分:3)
所以,我最终通过在单元测试文件中添加一个引用到angular-mocks.js以及我测试的代码定义的实际JS文件(filters.js)来完成它的工作
对于找到这篇文章的所有新手,要让Chutzpah for visual studio实际运行UnitTests for jasmine,你需要在你的单元测试文件中引用以下文件:
希望这有助于某人:)
答案 1 :(得分:-1)
您需要使用jasmine typings(d.ts)才能在Typescript中编写测试。现在你只引用普通js中的jasmine,所以module是一个未知的关键字。