jasmine + angular + ng-include ...部分不渲染

时间:2016-03-10 21:16:25

标签: angularjs unit-testing jasmine

我的指令将包含基于变量的部分。

div(    ng-if='contactAgentCtrl.type === "slim-card"'
        ng-include='::"app/components/contact/agent/partial/slim-card.html"')

div(    ng-if='contactAgentCtrl.type === "form"'
        ng-include='::"app/components/contact/agent/partial/form.html"')

我的单元测试中的元素仅显示上述结果,似乎不呈现部分内容。我已确保变量已设置,因此它似乎应该包含部分。

我还检查了$ templateCache,两个条目都存在。

这是我的简单单元测试:

  beforeEach(inject(() => {

  $scope = $rootScope.$new();

  $scope.type = 'form';

  $element = angular.element('<mre-contact-agent type="type"></mre-contact-agent>');

  $compile($element)($scope);

  directive = ContactAgent.factory()();

  $scope.$digest();
  }));

1 个答案:

答案 0 :(得分:0)

问题是需要插值的变量。

$element = angular.element('<mre-contact-agent type="{{ type }}"></mre-contact-agent>');