gpt4 book ai didi

angularjs - 将模拟加载到 AngularJS 单元测试中

转载 作者:行者123 更新时间:2023-12-02 22:22:39 26 4
gpt4 key购买 nike

我正在尝试设置我的 AngularJS 应用程序以测试 Controller 、路由、模板等,但我在获取 angular-mocks.js 工作(即 moduleinject)。

我正在使用 testacular 加载测试套件,并在规范之前添加了以下文件:

files = [
MOCHA,
MOCHA_ADAPTER,
'../application/lib/angular.min.js',
'./lib/angular/angular-mocks.js',
'./lib/angular/angular-scenario.js',
'../application/application.js',
'./lib/chai.js',
'./lib/chai-should.js',
'./lib/chai-expect.js',
'./spec/**/*.js'
];

到目前为止一切顺利,但是当我运行测试时我遇到了这个问题:

ReferenceError: Can't find variable: module

不确定这是在哪里加载的。我错过了什么吗?

最佳答案

首先要检查的是所有这些文件都已加载到测试浏览器中。在您的配置中弄错路径而没有意识到是非常容易的。如果您使用 autowatch 运行 testacular,您可以使用浏览器导航至 http://localhost:9876/context.html 并使用开发人员工具检查元素/资源/网络并查看是否缺少任何内容。

如果一切都很好,但您仍然遇到问题,请发布您的一些测试代码,我会看一下。

更新:它(奇怪地)出现在 angular-mocks.js 的源评论中。 (第 1635 行)window.module 仅适用于 Jasmine。看起来您使用的是 Mocha 而不是 Jasmine。这很可能是罪魁祸首。

回答:

我不能把这个 Matsko 归功于你自己,因为你自己想出来了......但事实证明,当前的 AngularJS 稳定下载和 angular-seed 包含不支持 Mocha 的旧版本的 ngMock。用 github repo 中的最新版本手动替换模拟文件可以解决问题。很高兴我能提供帮助 ;-)

关于angularjs - 将模拟加载到 AngularJS 单元测试中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13465773/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com