来自getDOM()
的{{1}}如何在规格中实际运作?
看起来in some specs @angular/platform-browser/src/dom/dom_adapter
引用了一些分离的根元素,类似于AngularJS getDOM()
:
$rootElement
在捆绑的Jasmine matchers var el1 = el('<div>a</div>');
var el2 = el('<div>b</div>');
getDOM().appendChild(el2, getDOM().firstChild(el1));
expect(getDOM().childNodes(el2).length).toBe(2);
中,神奇地引用相同的元素:
getDOM()
为了方便起见,我打算建立一些Chai断言,但这让我觉得我错过了一些关于Angular 2在单元测试中表现如何的重要信息。
那里发生了什么?如何设置 function(actual: any /** TODO #???? */, className: any /** TODO #???? */) {
return {
pass: getDOM().hasClass(actual, className) == !isNot,
get message() {
return `Expected ${actual.outerHTML} ${isNot ? 'not ' : ''}
to contain the CSS class "${className}"`;
}
};
};
上下文?这是什么背景?一次只能有一个背景吗?是否应在生产代码中使用getDOM()
?
答案 0 :(得分:3)
您不应从依赖项的.../src/...
导入,因为这被视为该程序包的私有实现。
DomAdapter
仅供Angular2内部使用。
它被公开导出了一段时间,但是刚刚从公共API中删除了,这就是为什么有几个答案建议使用它。