Ami*_*mid 9 jasmine typescript
我需要一些指导如何使用Jasmine设置TypeScript项目的单元测试.
测试规范文件如下所示:
/// <reference path="../../../typings/tsd.d.ts" />
import {Mediator} from '../../../services/remoting/Mediator';
describe('Mediator', () =>
{
let mediator: Mediator;
beforeEach(() =>
{
mediator = new Mediator();
});
it('blah blah', () =>
{
expect(mediator.TEST).toBeDefined();
});
});
Run Code Online (Sandbox Code Playgroud)
我使用npm jasmine模块来运行测试.jasmine.json指向内置的JS规范文件,如下所示:
{
"spec_dir": "build/spec",
"spec_files": [
"**/*.js"
]
}
Run Code Online (Sandbox Code Playgroud)
构建规范文件如下所示:
/// <reference path="../../../typings/tsd.d.ts" />
define(["require", "exports", '../../../services/remoting/Mediator'], function (require, exports, Mediator_1) {
describe('factory: Mediator', function () {
var mediator;
beforeEach(function () {
mediator = new Mediator_1.Mediator();
});
it('should have defined all required fields', function () {
expect(mediator.ExecuteQuery).toBeDefined();
});
});
});
//# sourceMappingURL=Mediator.spec.js.map
Run Code Online (Sandbox Code Playgroud)
当我尝试运行测试jasmine抱怨未定义的'define'函数时:
ReferenceError: define is not defined
Run Code Online (Sandbox Code Playgroud)
我试图搜索TypeScript + Jasmine,但没有太多信息(我不想使用完整的VisualStudio).所以如果有人能指出我如何设置打字稿+茉莉花以及我的错误在哪里,我将不胜感激.
提前致谢.
看起来您正在使用--module amd为异步模块设计的标志进行编译(就像使用RequireJS时一样).
如果您在Node上运行,则需要提供--module commonjs.这将导致以下输出:
var mediator_1 = require('../../../services/remoting/Mediator');
Run Code Online (Sandbox Code Playgroud)
(虽然变量的名称可能会因为在编译ES6样式导入时为您动态创建名称而更改).
| 归档时间: |
|
| 查看次数: |
4688 次 |
| 最近记录: |