我很难让 Chutzpah 与 requireJs/jasmine 2.0 一起工作。此方法适用于 1.3 版,但现在 jasmine 2.0 版 chutzpah 已停止接受测试。我也将 chutzpah 升级到 3.1.1 以获得 jasmine 2.0 支持。我确实需要做一些小改动才能从 requireJs 加载 jasmine 以使其工作,但我认为这不应该影响 chutzpah,因为它只是加载 html。
这是我为 chutzpah 运行的命令。
chutzpah.console.exe path/to/SpecRunner.html
控制台现在无法进行测试
=== 0 total, 0 failed, took 0.25 seconds ===
但是当我运行实际的 html 文件时,它会找到测试
任何帮助将不胜感激
我一直在尝试的不是 HTML 路由,而是内置的 chutzpah 配置
{
"Framework": "jasmine",
"TestHarnessReferenceMode": "AMD",
"TestHarnessLocationMode": "SettingsFileAdjacent",
"Tests": [
{"Path" : "Specs/example.spec.js"},
],
"References" : [
{"Path" : "../../../Scripts/lib/require/require.js" },
{"Path" : "../../../Scripts/app/app.js" }
]
}
这运行但是我收到一个错误
Error: Error: Script error for: specs/example.spec
Error: Timeout occured when executing test file
While Running:C:\path\to\specs\example.spec.js
System.AggregateException: One or more errors occurred.
---> System.NullReferenceException: Object reference not set to an instance of an object.
at Chutzpah.FileProbe.<FindScriptFiles>d__1a.MoveNext() in c:\Dev\chutzpah\Chutzpah\FileProbe.cs:line 159
这里的路径绝对正确,因为我已将其复制并粘贴到资源管理器窗口中以确保。
测试是一个简单的编译咖啡脚本文件,看起来像这样
(function() {
define([], function() {
return describe('==== example test ====', function() {
return describe('the test should', function() {
return it('showcase toBe', function() {
return expect(true).toBe(true);
});
});
});
});
}).call(this);
而且我确信这可以工作,因为它在我的浏览器基于 html 的等效项中传递。
这是我使用 html 的最终配置。我无法让它仅与发现测试的配置一起工作。希望这将在第 214 项解决后得到解决,如下面的答案
{
"Framework": "jasmine",
"RootReferencePathMode": "SettingsFileDirectory",
"TestHarnessReferenceMode": "AMD",
"TestHarnessLocationMode": "SettingsFileAdjacent",
"Tests": [
{ "Path" : "specrunner.html" }
],
"References" : [
{"Path" : "../../../Scripts/lib/require/require.js" },
{"Path" : "../../../Scripts/app/app.js" }
]
}