模拟Angular bootstrap-ui指令进行单元测试

时间:2015-03-02 18:19:17

标签: javascript angularjs unit-testing

我正在尝试编写单元测试以确保指令正常工作。

该指令的模板包含Angular bootstrap datepicker,所以我希望能够嘲笑它。

This question说我应该可以通过使用$compileProvider创建具有相同名称的新指令并将高priorityterminal设置为true来模拟指令:

beforeEach(function() {
  inject([
    '$compileProvider',
    function($compileProvider) {
      $compileProvider.directive('datePickerOptions', {
        priority: 100,
        terminal: true,
        template: ''
      });

    $compileProvider.directive('datePickerPopup', {
      priority: 100,
     template: ''
    });
  }]);
});

它还说你可以通过覆盖它们的工厂函数来模拟指令:

beforeEach(module(function($provide) {
  $provide.factory('datePickerOptionsDirective', function() {
      return {};
  });
  $provide.factory('datePickerPopupDirective', function() {
      return {};
  });
}));

这些方法都不适合我。我使用了Karma单元测试。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

这是我的错误。 Datepicker code将其指令列为datepickerdatepickerPopupdatepickerOptions。错误是大写问题。