使用Jasmine和ReSharper测试TypeScript模块

时间:2017-06-19 20:06:50

标签: javascript typescript jasmine requirejs resharper

我在VS2017项目的TypeScript文件中进行了以下Jasmine测试:

describe("A trivial test", () => {
  it("Should pass", () => {
    expect(true).toBeTruthy();
  });
});

这是使用ReSharper跑步者运行的,一切都很顺利。

然后我添加

import { TestedObject } from "./TestedModule";

到文件的顶部。

这次尝试运行测试时,ReSharper报告:

  

忽略:超时时跳过任务

Jasmine报道:

  

未找到规格

并打开浏览器控制台我看到:

  

未捕获的ReferenceError:未定义的定义

查看错误位置我看到转换后的TypeScript希望使用RequireJS AMD模块加载(在tsconfig.json中配置):

define(["require", "exports"], function (require, exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", { value: true });
    var TestedObject = (function () {
        function TestedObject() {
            this.magicNumber = 3;
        }
        return TestedObject;
    }());
    exports.TestedObject = TestedObject;
});

但是,还没有加载RequireJS,到目前为止我还没有找到如何加载它以使其在这种情况下可用。

我觉得这可能是一个单行(如果你知道哪一行,在哪里),但任何人都可以指出我正确的方向,使RequireJS可用于测试,或者允许我使用ReSharper的替代设置运行测试?

1 个答案:

答案 0 :(得分:0)

这已被提升为ReSharper错误: https://youtrack.jetbrains.com/issue/RSRP-465184