2015-10-02 19 views
7

Tôi đang cố gắng để viết thử nghiệm đơn vị Góc đầu tiên của tôi trong TypeScript và tôi nhận được lỗi theo và không thể tìm ra lý do. Nếu bất kỳ ai có bất kỳ ý tưởng xin vui lòng cho tôi biết.Kiểm tra đơn vị góc với TypeScript: TS2304: Không thể tìm thấy tên 'mô-đun'

TS2304: Không thể tìm thấy tên 'mô-đun'.

mã kiểm tra:

/// <reference path="../typings/karma-jasmine/karma-jasmine.d.ts" /> 
/// <reference path="../typings/angularjs/angular-mocks.d.ts" /> 

describe("FooTest",() => { 
    beforeEach(module("app")); 

}); 

Tôi sử dụng TSD (quản lý Định nghĩa nguyên cảo) để quản lý các định nghĩa nguyên cảo của tôi.

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" 
    } 
    } 
} 

Tôi sử dụng IntelliJ IDEA 14

Cảm ơn, Stefan

+0

chỉ không chạy tsc trên thông số này/mocks/d.ts nộp? hoặc xác định 'var mô-đun: bất kỳ;' – YOU

+0

@YOU xin lỗi tôi không hiểu những gì bạn có nghĩa là bởi _just không chạy tsc trên đó spec/mocks/d.ts tập tin? _ đó. – stevo

Trả lời

0

Tôi đoán:

bạn đang sử dụng angular-mocks.d.ts nhưng tôi không xem angular-mocks.ts ở mọi nơi.

d.ts tệp chỉ chứa định nghĩa loại, chứ không chỉ thực hiện thực tế. Vì vậy, bạn sẽ cần cả hai.

PS: Tôi nghĩ rằng góc-mocks.ts chỉ có phiên bản .js :)

15

đội Gần đây kiễu góc nhận xét các mô-đun trên toàn cầu trong góc-mocks

//Use `angular.mock.module` instead of `module`, as `module` conflicts with commonjs. 
//declare var module: (...modules: any[]) => any; 

Để thực hiện thử nghiệm của bạn biên dịch bạn cần sử dụng không gian tên đầy đủ, vì vậy angular.mock.module

dụ:

beforeEach(function() { 
    angular.mock.module('app'); 
} 
+2

Tôi gặp chính xác vấn đề này, điều này đã làm việc hoàn hảo. Cảm ơn! – lwalden

+0

Tôi nhận được vấn đề mà nó nói rằng góc không có một tài sản "giả" trên đó, là có một số tập tin định nghĩa tôi đang mất tích? Tôi có góc-giả đã được trên dt, không chắc chắn nếu tôi cần một số – Jay

+0

Tôi có góc-mocks, với S cuối cùng, là những gì bạn có hoặc góc-giả? –

5

trước:

beforeEach(function() { 
    module('app'); 
} 

sau:

beforeEach(function() { 
    angular.mock.module('app'); 
} 
Các vấn đề liên quan