2

我们目前有一个 Asp.Net MVC 应用程序,它利用 angularJs 作为我们的 javascript 框架。在使用 Angular 进行开发时,我们也使用 TypeScript。我们的单元测试是用 jasmine 编写的,测试运行者是 chutzpah。目前所有单元测试(总共 43 个)正在运行,并在 VS2012 测试资源管理器中本地通过。

然后,我们将 TFS 构建服务器配置为使用 chutzpah 运行单元测试,当它们运行时,我们遇到了奇怪的结果。正如你在下面看到的,单元测试已经运行了——但是,43 是我们编写的单元测试的数量,而不是 65。

在此处输入图像描述

在此处输入图像描述

好的,22 次失败的测试——这发生在我们最好的人身上。然而,奇怪的是当我们查看“日志”选项卡时:

在此处输入图像描述

紧接在测试失败列表下方的是我们编写的完整测试列表 (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" }
    ]
}
4

0 回答 0