3

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

这是我参考的文件

jasmine.js 版本:1.3.1

茉莉花html.js

angular.min.js 版本:1.2.0RC1

角模拟.js

警报.js

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

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

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

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

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

我使用与这篇文章不同的方法

  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。

任何想法 ?

4

1 回答 1

3

最后,我想通了。

我需要再引用 2 个文件。

jQuery 和Jasmine-jQuery

于 2013-08-23T20:29:17.180 回答