Dart 如何在角度组件测试中查询阴影DOM

Dart 如何在角度组件测试中查询阴影DOM,dart,angular-dart,Dart,Angular Dart,我有这个单元测试设置,想检查元素的shadowDOM。 但是shadowDOM没有子节点 在下面的代码中,我尝试检查getStars()方法中的shadowDOM元素 我的方法有缺陷吗? 这样行吗 library bootstrap\u angular.test.elements.rating; 导入'dart:html'作为dom; 导入“dart:async”; 导入“包:unittest/unittest.dart”; 导入“package:unittest/html_enhanced_c

我有这个单元测试设置,想检查
元素的
shadowDOM
。 但是
shadowDOM
没有子节点

在下面的代码中,我尝试检查
getStars()
方法中的shadowDOM元素

我的方法有缺陷吗? 这样行吗

library bootstrap\u angular.test.elements.rating;
导入'dart:html'作为dom;
导入“dart:async”;
导入“包:unittest/unittest.dart”;
导入“package:unittest/html_enhanced_config.dart”;
将“包:角度/角度.dart”作为ng导入;
将“package:angular/mock/module.dart”作为ngMock导入;
导入“package:bootstrap_angular/rating/rating.dart”;
void main(){
使用HtmlEnhancedConfiguration();
ng.范围(u rootScope);
元素_元素;
ngMock.TestBed_tb;
ngMock.MockHttpBackend\u backend;
设置((){
未来f;
试一试{
ngMock.setUpInjector();
ngMock.module((ng.module){
模块。安装(新额定模块());
});
inject((ng.Scope范围,ngMock.TestBed测试床){
_根范围=范围;
_根镜['rate']=3;
_tb=试验台;
f=dom.HttpRequest.getString('/bootstrap\u angular/packages/bootstrap\u angular/rating/rating.html')
.然后((评级模板){
_backend=new ngMock.MockHttpBackend();

assert(ratingTemplate.contains)(“您的基本方法应该有效

对于AngularDart测试,我们有一个
JQuery
类,其中处理对阴影DOM的窥视。例如,请参见
JQuery.textWithShadow()
方法

查看您发布的代码,我怀疑您有一个竞争条件,因为您没有等待编译完成。根据评级组件的不同,编译可能是异步的:可能需要刷新MockHttpBackend


在AngularDart测试中,我们使用
async()来处理这个问题
concept,如果你让期货挂起,它将使你的测试失败。请参阅AngularDart Github repo中的内容。

忘了提到:元素的shadowDOM在插入演示页面时有内容。非常感谢,这很有效!我必须在
区域内运行
compile
。运行((){compile(元素,指令)(注入器,视图);