我正在尝试在 Visual Studio 2012 中使用 jasmine 和 Resharper 7 运行一些 JavaScript 代码。我在 requirejs 的帮助下遵循 AMD 模式。但是,我还没有设法在 Resharper 测试运行器中运行我的测试。

有没有人设法做类似的事情?

最佳答案

使用命名的 requireJS 模块

define("my/sut", function () {

    var MySut = function () {
        return {
            answer: 42
        };
    };
    return MySut;
});

并使用 Jasmine 的异步支持初始化 SUT。不要忘记引用!
/// <reference path="~/Scripts/require.js"/>
/// <reference path="../code/sut.js" />

describe("requireJS with Jasmine and Resharper", function () {

    it("should be executed", function () {

        // init SUT async
        var sut;
        runs(function () {
            require(['my/sut'], function (MyModel) {
                sut = new MyModel();
            });
        });
        waitsFor(function () {
            return sut;
        }, "The Value should be incremented", 100);

        // run the test
        runs(function () {
            expect(sut.answer).toBe(42);
        });
    });
});

我希望这适用于更多模块。在我的情况下,它与 waitsFor '0' ms 一起工作。

10-08 08:32