我们目前有一个Asp.Net MVC应用程序,它利用angularJs作为我们的javascript框架。在使用angular进行开发时,我们也使用TypeScript。我们的单元测试是用茉莉花编写的,测试运行器是chutzpah。目前,所有单元测试(总共43个)正在运行,并在VS2012测试资源管理器中本地传递。
然后我们配置我们的TFS构建服务器以使用chutzpah运行单元测试,当它们运行时,我们遇到了奇怪的结果。如下所示,运行了单元测试 - 但是,43是我们编写的单元测试的数量,而不是65。
好的,22次测试失败 - 它发生在我们最好的人身上。然而,奇怪的部分是当我们查看' log'标签:
在测试失败列表的下方是我们编写的完整测试列表(43),其中包含通过状态。
总之,看起来单元测试运行两次:第一次运行失败所有测试,第二次运行通过。有没有人曾经遇到过这个问题?任何帮助将不胜感激。
另外,我想要包含我们正在使用的chutzpah.json文件 - 注意它是引用.js文件并从测试执行中排除.ts文件。
{
"Framework": "jasmine",
"RootReferencePathMode":"SettingsFileDirectory",
"TestHarnessLocationMode": "SettingsFileAdjacent",
"References": [
{ "Path": "../Scripts/angular.js" },
{ "Path": "../Scripts/angular-route.js" },
{ "Path": "../Scripts/angular-mocks.js" },
{ "Path": "../Scripts/angular-animate.js" },
{ "Path": "../Scripts/angular-cookies.js" },
{ "Path": "../Scripts/angular-resource.js" },
{ "Path": "../Scripts/angular-sanitize.js" },
{ "Path": "../Scripts/angular-ui/ui-bootstrap.js" },
{ "Path": "../Scripts/typings/_allReferences.js" },
{ "Path": "app.js" },
{ "Path": "core.js" },
{ "Path": "models.js" },
{ "Path": "Directives", "Include": "*.js" },
{ "Path": "Services" "Include": "*.js" },
{"Path": "app/tests/mocks.js"},
{"Path": "app/services/" "Include": "*.js"},
{"Path": "app/repositories/" "Include": "*.js"},
{"Path": "app/controllers/" "Include": "*.js"},
{"Path": "app/xModules/" "Include": "*.js"}
],
"Tests": [
{ "Path": "app/tests", "Include": "*Spec*", "Exclude": "*.ts" }
]
}