我试着用TypeScript写我的第一个角度单元测试,我得到了跟随的错误,但是找不到原因。如果有人知道的话请告诉我。
TS2304:找不到名字‘模块’。
测试代码:
/// <reference path="../typings/karma-jasmine/karma-jasmine.d.ts" />
/// <reference path="../typings/angularjs/angular-mocks.d.ts" />
describe("FooTest", () => {
beforeEach(module("app"));
});我使用TSD (TypeScript定义管理器)来管理我的TypeScript定义。
tsd.json
{
"version": "v4",
"repo": "borisyankov/DefinitelyTyped",
"ref": "master",
"path": "typings",
"bundle": "typings/tsd.d.ts",
"installed": {
"jquery/jquery.d.ts": {
"commit": "ef32bff4d15782dbbabf99ecb17ba22119cc2bd2"
},
"angularjs/angular.d.ts": {
"commit": "ef32bff4d15782dbbabf99ecb17ba22119cc2bd2"
},
"karma-jasmine/karma-jasmine.d.ts": {
"commit": "ef32bff4d15782dbbabf99ecb17ba22119cc2bd2"
},
"jasmine/jasmine.d.ts": {
"commit": "ef32bff4d15782dbbabf99ecb17ba22119cc2bd2"
},
"angularjs/angular-mocks.d.ts": {
"commit": "ef32bff4d15782dbbabf99ecb17ba22119cc2bd2"
}
}
}我用的是IntelliJ IDEA 14
谢谢,斯特凡
发布于 2015-11-30 14:38:24
最近,角小组在角模拟中对全局模块进行了评论。
//Use `angular.mock.module` instead of `module`, as `module` conflicts with commonjs.
//declare var module: (...modules: any[]) => any;为了使您的测试编译,您需要使用完整的命名空间,所以angular.mock.module
示例:
beforeEach(function () {
angular.mock.module('app');
}发布于 2015-12-15 13:56:19
在此之前:
beforeEach(function () {
module('app');
}之后:
beforeEach(function () {
angular.mock.module('app');
}发布于 2015-10-02 08:35:47
我猜:
您正在使用angular-mocks.d.ts,但我在任何地方都看不到angular-mocks.ts。
d.ts文件只包含类型定义,而不包含实际实现。所以你两者都需要。
PS:我认为“角质”-mocks.ts只有.js版本:)
https://stackoverflow.com/questions/32902949
复制相似问题