使用Chutzpah + AngularJS + jasmine的测试指令

时间:2013-08-22 22:59:00

标签: angularjs jasmine chutzpah

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

以下是我参考的文件

  

jasmine.js ver:1.3.1

     

jasmine-html.js

     

angular.min.js ver:1.2.0RC1

     

angular-mocks.js

     

alert.js

如果我不使用模板测试任何内容,它确实有效。

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

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

我不会像下面那样使用测试方式,因为它适用于Karma runner。

  

beforeEach(模块( '模板/警报/ 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'不是一个函数(评估'expect(alerts.eq(0))。toHaveClass('alert-success')')....

似乎没有创建警报。

由于第一个错误是

  

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

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

最后,我想通了。

我需要再引用2个文件。

jQuery和Jasmine-jQuery