getDOM()如何在Angular 2规范中工作

时间:2016-07-09 14:11:35

标签: javascript unit-testing typescript angular jasmine

来自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()

1 个答案:

答案 0 :(得分:3)

您不应从依赖项的.../src/...导入,因为这被视为该程序包的私有实现。

DomAdapter仅供Angular2内部使用。

它被公开导出了一段时间,但是刚刚从公共API中删除了,这就是为什么有几个答案建议使用它。