我有一些 qunit 测试设置来测试我广泛使用 requirejs 的代码。我使用 Chutzpah 来执行在 VS 中运行的测试。如果我在浏览器中运行测试,但不是仅在 VS 中运行,一切正常。它似乎忽略了我的 require.config 调用。如果我将文件中的引用更改为不指向垫片而是直接指向文件,它将起作用,但这会破坏我的代码中的其他内容。
有人有这个工作吗?如果是这样,怎么做?我查看了他们的示例代码,但它没有使用 require.config 和 shims。
从本教程开始。
要使用 shims 运行配置,只需在 chutzpah.json 中添加对配置文件的引用。下面的示例,为了便于阅读而略微简化。
chutzpah.json 文件
{
"Framework": "qunit",
"TestHarnessReferenceMode": "AMD",
"TestHarnessLocationMode": "SettingsFileAdjacent",
"References": [
{ "Path": "../Scripts/Components/RequireJS/require.js" },
{ "Path": "config.js" }
]
}
config.js 文件
require.config({
"paths": {
"jquery": "../Scripts/jquery-2.1.4",
"jquery-linq": "../Scripts/jquery.linq",
"signalr": "../Scripts/jquery.signalR-2.2.0",
"signalrhubs": "../Scripts/mock-signalr-hubs",
"knockout": "../Scripts/knockout-3.3.0",
"constants": "../Scripts/constants",
"HomeVm": "Source/HomeVm"
},
"shim": {
"jquery.linq": {
"deps": ["jquery"]
},
"bootstrap": {
"deps": ["jquery"]
},
"signalr": {
"deps": ["jquery"]
}
}
});