【问题标题】:Execute angular code before Karma run all tests?在 Karma 运行所有测试之前执行角度代码?
【发布时间】:2016-06-14 19:46:36
【问题描述】:

是否可以在 karma 中执行某种初始化编码?在执行测试之前,我需要运行这样的代码:

angular.module('module.common.brand', []).constant('BRAND', 'brandname');

我的应用目前需要这个模块(和这个常量),但今天它以一种我的业力不知道的时髦方式初始化。

【问题讨论】:

    标签: angularjs karma-runner karma-jasmine


    【解决方案1】:

    与任何其他 JS 文件一样,初始化文件应在 Karma 配置中指定(files 选项),就在test/*.spec.js 之前。

    【讨论】:

    • 太棒了,没想到这么简单!干杯。
    • 它怎么知道对每个测试文件执行第一个文件,而不是对每个测试文件执行每个测试文件?
    • @trusktr 我不确定你的意思。 files 选项仅指定 Karma 应加载哪些文件以及加载它们的顺序。它们是否是测试文件并不重要。它们刚刚加载。
    • 我明白了,我没有意识到它等同于串联(脚本标签)。我在想这是一个允许文件的列表,但它们会被视为相互导入的模块,它们默认情况下是较新的运行器(如 Jest)的工作方式(依赖于 CommonJS 的运行时模块格式)。所以这就是为什么我说,“如何将文件放在列表顶部使其神奇地导入我的所有模块中?”。我现在明白了,谢谢!
    猜你喜欢
    • 2013-01-24
    • 1970-01-01
    • 1970-01-01
    • 2015-05-30
    • 2021-07-22
    • 2020-03-04
    • 2017-09-03
    • 1970-01-01
    相关资源
    最近更新 更多