0

我最近开始使用 jasmine-jquery (1.3.1) 和 angular (1.0.6) 并且需要有关测试 GUI 的建议。我有一些控制器视图,它有角度指令,比如“view.html”:

<div id='main-div'>
  <div my-directive objects-to-iterate='someScopeObjects'>
   <span id='default-span'>some default text</span>
  </div>
</div>

,并且在 JS 中定义了一个指令“myDirective”,具有模板-URL 'myDirective.html',其中包括ng-repeat并在objectsToIterate. 我为“view.html”和“myDirective.html”加载了固定装置。现在我想测试一下,在用户交互过程中,“myDirective”重复块中确实有一些元素(行)。开始很简单:

var div = $('div#main-div');
div = $compile(div)(scope);
scope.$digest();
expect(div).toBeVisible();

现在我被困住了。无法访问“myDirective”元素的“生成”源。如果我使用

div.find('whatever-selector-for-element-my-directive'),

我明白了

<div my-directive objects-to-iterate='someScopeObjects'>
   <span id='default-span'>some default text</span>
</div>

如果我尝试针对范围编译+消化这个 html,我仍然会得到相同的标记。我怎么能得到“生成”的源,看起来像(伪)

<div id='my-directive-content'>
  <div id='object-1'>blah</div>
  <div id='object-2'>blah</div>
</div>

为了检查用户是否可以看到 N 行? someScopeObjects在范围内存在并且有效。

我的下一步实际上是为嵌套在“my-directive”中的指令测试同样的东西,所以我必须以某种方式访问​​“my-directive”的范围。如何?:)

谢谢你。

4

0 回答 0