我正在尝试在 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 一起工作。