【问题标题】:Testing directive with Chutzpah + AngularJS + jasmine使用 Chutzpah + AngularJS + jasmine 测试指令
【发布时间】:2013-08-25 20:57:25
【问题描述】:

我尝试使用 Chutzpah + jasmine 来测试我的 AngularJS 代码。

这是我参考的文件

jasmine.js 版本:1.3.1

茉莉花-html.js

angular.min.js 版本:1.2.0RC1

angular-mocks.js

alert.js

如果我不使用模板测试任何东西,它实际上可以工作。

我认为加载模板时一定有问题。

当我尝试从 AngularJS UI Bootstrap 运行警报指令时,我是这样做的。

我没有在下面的测试中使用这种方式,因为它是针对 Karma runner 的。

beforeEach(module('template/alert/alert.html'));

我使用与post不同的方法

  beforeEach(inject(function ($templateCache) {
      var directiveTemplate = null;
      var req = new XMLHttpRequest();
      req.onload = function () {
          directiveTemplate = this.responseText;
      };
      req.open("get", "../../../template/alert/alert.html", false);
      req.send();
      $templateCache.put("template/alert/alert.html", directiveTemplate);
  }));

仍然有很多问题,但我认为模板已加载。

仅“如果未指定关闭回调,则不应显示关闭按钮”通过

大部分错误都是这样的

TypeError: 'undefined' is not a function (evalating 'expect(alerts.eq(0)).toHaveClass('alert-success')') in ....

似乎没有创建警报。

因为第一个错误是

测试“警报:应该使用 ng-repeat 生成警报”失败预期 0 等于 3。

有什么想法吗?

【问题讨论】:

  • 我收到错误:无法在“XMLHttpRequest”上执行“发送”:加载失败

标签: angularjs jasmine chutzpah


【解决方案1】:

我终于明白了。

我需要再引用 2 个文件。

jQuery 和 Jasmine-jQuery.

【讨论】:

  • 你先生,是个真正的英雄!
猜你喜欢
  • 2016-05-28
  • 2013-01-23
  • 2016-07-18
  • 1970-01-01
  • 2016-08-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-03
相关资源
最近更新 更多