单元测试:使用element.scope()和element.scope()访问元素的范围。$$ childHead

时间:2014-03-05 21:05:16

标签: angularjs unit-testing

根据Unit Testing Directive Scope,我应该能够以这种方式在单元测试中访问指令的范围变量:

  expect(element.scope().clicked).toBe(true);

即,在看起来像这样的测试......

it("should respond to a click", function() {
  browserTrigger(element, "click");
  expect(element.scope().clicked).toBe(true);
}

然而,在我自己的实验中,我必须这样做:

  expect(element.scope().$$childHead.clicked).toBe(true);

(另外,如果我没有使用隔离范围,那么它没有使用$$childHead。)

为什么(以及何时)我必须使用$$ childHead?

1 个答案:

答案 0 :(得分:1)

这是做到这一点的方法:

  expect(element.isolateScope().clicked).toBe(true);