Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 角度试验.附在车身上的部件_Angular_Unit Testing_Automated Tests - Fatal编程技术网

Angular 角度试验.附在车身上的部件

Angular 角度试验.附在车身上的部件,angular,unit-testing,automated-tests,Angular,Unit Testing,Automated Tests,我正在写一些单元测试,我被困在这上面了。我的组件创建一个新组件并将其附加到主体。如何引用新组件 <dx-drop-down-box ...some_props > <div *dxTemplate="let data of 'content'"> <dx-tree-view ...some_other_props > </dx-tree-view> </div> </dx-drop

我正在写一些单元测试,我被困在这上面了。我的组件创建一个新组件并将其附加到主体。如何引用新组件

<dx-drop-down-box ...some_props >

    <div *dxTemplate="let data of 'content'">
        <dx-tree-view ...some_other_props >
        </dx-tree-view>
    </div>
</dx-drop-down-box>


当下拉列表打开时,
dxTemplate
div实际上会附加到body中。不幸的是,由于此原因,无法使用
fixture.debugElement.query(By.css('dx-tree-view'))
选择树视图,也无法通过
document.querySelector
访问本机元素。我甚至尝试过使用TestBed注入的ApplicationRef,但没有结果。这可能是因为我不知道如何使用它。谢谢你的帮助

所以我发现了如何绕过这个问题。。。当下拉框再次打开和关闭时,它会将下拉内容附加到自身中(直到再次打开为止)。结构如下所示:

<dx-drop-down-box>
   ...some inside structure, divs and so on
   <div class="dx-dropdowneditor-overlay dx-state-invisible ...">
      <div class="dx-overlay-content ...">
         <div class="dx-popup-content">
            ACTUAL CONTENT OF THE DROPDOWN
         </div>
      </div>
   </div>
</dx-dropdown-box>

…一些内部结构、分区等
下拉列表的实际内容
因此,我打开它,关闭它,保存对
dx弹出内容的引用
div,甚至当div四处移动时也能使用它。但是,我需要一个
DebugElement
来检查
dx树状视图,但它不起作用。我通过创建一个模拟的
dx树视图
并通过一个定制服务控制它来解决这个问题。不知道是否有更好的解决办法