如何解决如何在测试期间获取动态角度组件的实例?
这是我的代码:
const componentFactory = this.componentFactoryResolver.resolveComponentFactory(componentClass);
const dialogElement = document.createElement('some-dialog');
const componentRef = componentFactory.create(
this.injector,[],dialogElement
);
document.body.appendChild(dialogElement);
此代码发生在服务内部。 现在,我想从测试文件中获取组件 (componentRef) 的实例。 考虑到我在测试中只有 DOM 元素,这怎么做?
解决方法
好的。我已经找到了解决方法。
因为我是决定我的 componentClass
的样子(作为函数的参数)的人,所以我只需要确保 componentClass
在测试本身中公开我想要的内容:
let componentInstance: DialogContentComponent;
@Component({
template: `<h1 id="dialog-content">Hello</h1>`,})
class DialogContentComponent {
constructor() {
componentInstance = this;
}
}
然后 componentInstance 将是在服务内部生成的那个。
需要注意的一点 - 不要忘记重置 beforeEach
语句中的 componentInstance 以确保它不会从其他测试中携带。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。