Angular 角度生成动态组件
我正在为我的angular项目编写单元测试用例。在其中一个组件中,另一个组件用作子组件。我创建了模拟子组件。为了避免冗余代码,我创建了一个helper函数,该函数将生成一个组件并返回,这样我就可以在测试床中声明模拟组件。但我不确定如何在动态组件上声明输入和输出 下面是我的动态组件生成代码Angular 角度生成动态组件,angular,unit-testing,Angular,Unit Testing,我正在为我的angular项目编写单元测试用例。在其中一个组件中,另一个组件用作子组件。我创建了模拟子组件。为了避免冗余代码,我创建了一个helper函数,该函数将生成一个组件并返回,这样我就可以在测试床中声明模拟组件。但我不确定如何在动态组件上声明输入和输出 下面是我的动态组件生成代码 export function getMockComponent(selector: string) { @Component({ selector, template: '' }) class
export function getMockComponent(selector: string) {
@Component({ selector, template: '' })
class MockComponent { }
return MockComponent;
}
我期待着这样的事情:
导出函数getMockComponent(选择器:字符串,{inputs=[],outputs=[]}={}){
@组件({选择器,模板:'})
类组件{
for(设i=0;i组件({选择器,模板:''})(
类组件{
for(设i=0;i
但它可能不适用于AOT编译。在函数中,您可以通过将类装饰器直接应用于类来应用它
组件({选择器,模板:''})(
类组件{
for(设i=0;i
但它可能不适用于AOT编译
export function getMockComponent(selector: string, { inputs = [], outputs = [] } = {}) {
@Component({ selector, template: '' })
class MockComponent {
for (let i = 0; i < inputs.length; i++) {
@Input() inputs[i];
}
}
return MockComponent;
}