当前位置: 首页 > 面试题库 >

Jasmine测试看不到AngularJS模块

荀裕
2023-03-14
问题内容

我正在尝试使用Jasmine规格文件对Angular服务进行单元测试。这需要加载模块。这是一个简单的规范,旨在简单地加载Angular模块:

describe('Submission services', function () {
  it('Finds angular', function () {
    module('submissionServices');
  });
});

当我运行Jasmine时,这将导致以下错误

Running Jasmine specs...
FAIL: 1 test, 1 failure, 0.004 secs.

Submission services Finds angular. (/Users/XXX/Projects/globe_town/spec/javascripts/SubmissionsSpec.js:3)
ReferenceError: Can't find variable: module

Test ordering seed: --seed 1826
rake aborted!
Jasmine::Headless::TestFailure

jasmine.yml文件包含

src_files:
  - public/javascripts/jquery.js
  - spec/javascripts/lib/angular/angular.js
  - spec/javascripts/lib/angular/angular-resource.js
  - app/assets/javascripts/services/submissions.js

stylesheets:
  - stylesheets/**/*.css

helpers:
  - helpers/**/*.js

spec_files:
  - '**/*[sS]pec.js'

src_dir:

spec_dir: spec/javascripts

该软件的版本为:

  • Rails 3.2.7
  • jasmine-core 1.2.0
  • jasmine-headless-webkit 0.8.4
  • AngularJS 1.0.2

我需要做些什么才能使Jasmine找到Angular?


问题答案:

确保为像这样的angular-jasmine-helper函数添加了http://code.angularjs.org/1.1.0/angular-
mocks.js
module



 类似资料:
  • 问题内容: 我一直在努力围绕Jasmine 2.0和AngularJS的承诺。我知道: 茉莉花2.0引入的功能,以取代旧的和功能 在触发摘要循环之前,AngularJS Promise 不会解析 如何在Jasmine 2.0中使用新的异步语法测试AngularJS Promise? 问题答案: 致电后: 致电。这将强制进行摘要循环并传播承诺解决方案 致电。告诉Jasmine异步测试已经完成 这是一

  • 问题内容: 我试图在将其他模块作为依赖项的模块中进行单元测试控制器代码的单元化,但是还没有弄清楚如何正确模拟它们。 我正在使用Jasmine Framework,并使用Karma(Testacular)运行测试。 模块代码 规格代码 我得到的错误是Karma是“ no module af.widgets”,因此显然我没有对模块依赖项进行模拟。有什么提示吗? 问题答案: 如果要模拟声明一个或多个服务

  • 问题内容: 我正在尝试测试AngularJS服务,但似乎不起作用。 谁能解释为什么响应为空? 问题答案: 试试这个: 请求返回的响应对象在属性(docs)中具有响应数据。

  • 问题内容: 我正在努力使用Karma + Jasmine测试AngularJS工厂。 我无法将工厂注入变量。 我究竟做错了什么? 注意:文件已正确加载 厂: 码: 输出: 问题答案: 您需要致电:

  • 问题内容: 我正在使用Jasmine编写AngularJS的指令测试,并与它们一起使用templateUrl:https : //gist.github.com/tanepiper/62bd10125e8408def5cc 但是,当我运行测试时,我得到了要点中包含的错误: 从我在文档中阅读的内容来看,我认为自己做得正确,但是事实并非如此-我在这里想念的是什么? 谢谢 问题答案: 如果您使用的是ng

  • 我试图为我编写的一些代码编写单元测试,遇到的问题是我希望在执行函数后调用模拟回调,但我的测试失败,因为它从未被调用。 正在测试的功能非常简单: 我怀疑的问题是,由于请求的异步性质,jasmine在API调用中执行模拟回调之前测试期望值。我尝试过使用其他人建议使用的done()和flags,但没有成功。希望能在这方面提供一些指导。