Chutzpah 没有检测到带有 AMD 模块的 Typescript 中的茉莉花测试

Chutzpah doesn't detect jasmine tests in Typescript with AMD modules

我们正在尝试找出一种 UI 测试方法,并且认为大胆的做法是一个不错的选择。 我使用 typescript 和 requirejs 编写了 jasmine 测试。 Chutzpah 能够检测不导入任何外部模块的示例测试。但是当我尝试导入要测试的外部模块时,chutzpah 似乎没有检测到测试资源管理器中的测试。 这是我的回购 link:https://github.com/NareshNow/UItesting.git

这是我的大胆 json 文件:

"Framework": "jasmine",
"TestHarnessReferenceMode": "AMD",
"TestHarnessLocationMode": "SettingsFileAdjacent",
"AMDBaseUrl": "../Compiledmodules/Tests",
"AMDAppDirectory": "../Compiledmodules",
"TestFileTimeout": 600000,
"EnableCodeCoverage": false,
"References": [

{
  "Path": "../Scripts/require.js",
  "IsTestFrameworkFile": true
},
{
  "Path": "../Scripts/AMDconfig.js",
  "IsTestFrameworkFile": true
}
],
"Compile": {
"Mode": "External",
"Extensions": [ ".ts" ],
"ExtensionsWithNoOutput": [ ".d.ts" ],
"SourceDirectory": "../Typescripts",
"OutDirectory": "../Compiledmodules"
},
"Tests": [
{
"Path": "../Typescripts",
"Includes": [ ".ts" ]
},
{
"Path": "../Compiledmodules",
"Includes": [".js"]
}
]
}

在过去的 5 天里,我尝试了很多关于类似问题的早期问题的建议,但似乎没有任何效果。我觉得缺少一些简单的东西。 您可以在存储库的 TypescripKit 文件夹中找到测试 chutzpah.json。 任何帮助将不胜感激。谢谢!

我终于让它工作了。没时间到这里post。这就是问题所在。 我在 tsconfig.json 中的目标是 ES2015。 ES2015 不会将打字稿 classes 转换为函数,而是使用 class 关键字本身。 因此,我在 jasmine 测试中访问它的方式适用于 ES5,而且我在 jasmine 测试中 describe 块开始之前声明了变量。这使得 chutzpah 无法将它们识别为测试。 因此,一旦我将目标更改为 ES5 并在 describe 中声明了变量,chutzpah 就能够检测到测试。