jia*_*gok 11 amd typescript karma-runner
我正在使用karma,jasmine,typescript来编写来自https://angular.io/docs/js/latest/quickstart.html的helloworld应用程序的单元测试.
以下是测试代码:
///<reference path="../typings/jasmine/jasmine.d.ts"/>
import {
    MyAppComponent
} from '../spray1';
describe("name is Alice", () => {
    var comp = new MyAppComponent();
    it("verify name", () => {
        expect(comp.name).toBe("Alice"); 
    });
});
Run Code Online (Sandbox Code Playgroud)
tsc(带"--module commonjs")将此测试代码转换为:
///<reference path="../typings/jasmine/jasmine.d.ts"/>
var spray1_1 = require('../spray1');
describe("name is Alice", function () {
    var comp = new myAppComponent_1.MyAppComponent();
    it("verify name", function () {
        expect(comp.name).toBe("Alice");
    });
});
Run Code Online (Sandbox Code Playgroud)
业力未能运行单元测试:
未捕获错误:尚未为上下文加载模块名称"../myAppComponent":_.使用require([]) http://requirejs.org/docs/errors.html#notloaded at /Users/spray1/web2/node_modules/requirejs/require.js:141
Chrome 43.0.2357(Mac OS X 10.10.3):执行0 0成功(0秒/ 0秒)
如果我使用tsc"--module amd",则转换后的测试代码为:
define(["require", "exports", '../spray1'], function (require, exports, spray1_1) {
    describe("name is Alice", function () {
        var comp = new spray1_1.MyAppComponent();
        it("verify name", function () {
            expect(comp.name).toBe("Alice");
        });
    });
});
Run Code Online (Sandbox Code Playgroud)
"karma start test/karma.conf.js"在已转换的js文件上抛出以下错误:
未捕获的错误:匿名的define()模块不匹配:函数(require,exports,spray1_1){describe("name is Alice",function(){var comp = new spray1_1.MyAppComponent(); it("verify name",function( ){expect(comp.name).toBe("Alice");});}); } http://requirejs.org/docs/errors.html#mismatch 在/Users/spray1/web2/node_modules/requirejs/require.js:141铬43.0.2357(Mac OS X的10.10.3):0 0时执行错误(0.04秒/ 0秒)
如你所见,我无法使其工作(--module commonjs/amd).哪种方式是正确的方法以及如何使其工作?感谢任何帮助!
因此,您提供的链接是快速入门的 JavaScript 版本,但您似乎正在使用 TypeScript。
我建议查看快速入门文档的 TypeScript 版本。它有一个tsconfig.json提供适当编译目标的文件:
Run Code Online (Sandbox Code Playgroud){ "compilerOptions": { "target": "es5", "module": "system", "moduleResolution": "node", "sourceMap": true, "emitDecoratorMetadata": true, "experimentalDecorators": true, "removeComments": false, "noImplicitAny": false }, "exclude": [ "node_modules", "typings/main", "typings/main.d.ts" ] }
|   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           4303 次  |  
        
|   最近记录:  |