TypeScript+Jasmine, когда тестируемый класс находится в пределах определения модуля

Я не могу понять, как написать тест Jasmine на TypeScript, когда тестируемый класс находится внутри определения модуля. Эта установка отлично работает:

Calculator.ts:

export class Calculator {
    add(x: number, y: number): number {
        return x + y;
    }
}

CalculatorTest.ts:

///<reference path="scripts/typings/jasmine/jasmine.d.ts"/>
///<reference path="../NancyApplication506/app/Calculator.ts"/>
import Calculator = require("../NancyApplication506/app/Calculator");

describe("Calculator tests", () => {
    var calculator: Calculator.Calculator;

    beforeEach(() => {
        calculator = new Calculator.Calculator();
    });
    it("should be able to add", () => {
        expect(calculator.add(21,21)).toBe(42);
    });
});

Однако, когда я меняю Calculator.ts таким образом, я не мог понять, как написать свой тест.

module SomeModuleName {
    export class Calculator {
        add(x: number, y: number): number {
            return x + y;
        }
    }
}

Я перепробовал десятки разных вещей, и все это привело к полному провалу. Пожалуйста, пожалуйста, пожалуйста, помогите!

1 ответ

Решение

Добавьте файл Chutzpah.json в тот же каталог, что и тесты:

{
    "Compile": {
        "Mode": "External",
        "Extensions": [ ".ts" ],
        "ExtensionsWithNoOutput": [ ".d.ts" ],
        "SourceDirectory": "../",
        "OutDirectory": "../"
    }
}

И просто удалите:

import Calculator = require("../NancyApplication506/app/Calculator");
Другие вопросы по тегам