【问题标题】:Jasmine Unit Tests displaying multiple times in Visual Studio 2012 Test Explorer在 Visual Studio 2012 测试资源管理器中多次显示 Jasmine 单元测试
【发布时间】:2015-03-25 17:57:35
【问题描述】:

我正在使用 jasmine 为 angularjs 应用程序编写单元测试,测试运行器是 chutzpah。此应用程序的所有代码都是用 typescript 编写的,并且 chutzpah.json 文件被配置为正确编译 .ts 文件。我使用的编辑器是 Visual Studio 2012 Premium,当然带有 chutzpah 测试适配器和上下文菜单扩展。下面的图片展示了同一个测试是如何出现多次的:

我添加了多个屏幕截图,因为每个屏幕截图的来源对于每个测试引用都不同。

需要注意的一点是,该测试是在一个名为 configurationServiceSpec.ts 的文件中为一个名为 ConfigurationService 的 Angular 服务编写的,并被注入到整个应用程序的其他组件中。

angular.module('ConfigurationService', []);

虽然列表中的每个测试在测试资源管理器中的状态为通过,但我发现在 TFS 构建操作期间运行测试时,测试的 5 个“副本”中有 4 个通过,而 1 个失败。任何见解将不胜感激。谢谢

【问题讨论】:

    标签: typescript jasmine chutzpah


    【解决方案1】:

    你的 chutzpah.json 是错误的。下面更新的应该可以正常工作。由于您有一个编译配置集,因此您不需要引用 .js 文件,而是应该引用 .ts 文件并让 Chutzpah 找到匹配的 .js 文件。

    { "Compile": { "Mode": "External", "Extensions": [".ts"], "ExtensionsWithNoOutput": [".d.ts"]
    }, "References": [ { "Path": "../Scripts/jquery-1.11.0.js" }, { "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.min.js" }, { "Path": "../Scripts/angular-ui/ui-bootstrap.js" }, { "Path": "../Scripts/typings/_allReferences.js" }, { "Path": "service", "Include": "*.ts" }, { "Path": "app.ts" } ], "Tests": [ { "Path": "module1", "Include": "*Spec*.ts" }, { "Path": "service", "Include": "*Spec*.ts" } ]
    }

    【讨论】:

    • 谢谢马修,我知道这很简单。干杯。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-03
    • 1970-01-01
    相关资源
    最近更新 更多