gpt4 book ai didi

unit-testing - Jasmine 单元测试抽象类

转载 作者:太空狗 更新时间:2023-10-29 17:13:45 25 4
gpt4 key购买 nike

有没有办法为抽象组件创建 jasmine 单元测试?

const fixture = TestBed.createComponent(MyAbstractComponent);

说,“不能将抽象构造函数类型分配给非抽象构造函数类型”

我尝试了一些搜索,但没有找到任何结果。

最佳答案

您可以在测试文件中创建一个从抽象类扩展的简单类(不要忘记模拟抽象方法),而不只是测试其非抽象方法。假设我们有 MyAbstractClass:

export abstract class MyAbstractClass {
sum(a: number, b: number): number {
return a + b;
}

abstract calc1(): void;
abstract calc2(): void;
}

然后在 spec 文件中我们可以创建一个新的派生类:

class MyClass extends MyAbstractClass {
// just mock any abstract method
calc1(): void {
return;
}
calc2(): void {
return;
}
}

现在我们可以为非抽象方法编写测试了:

describe('MyAbstractClass', () => {
let myClass: MyClass;
beforeEach(() => {
myClass = new MyClass();
});

it('sum two args', () => {
const a = 1, b = 2;

const sum = myClass.sum(a, b);

expect(sum).toBe(3);
});
});

还创建了一个 stackblitz example这个测试例子。

关于unit-testing - Jasmine 单元测试抽象类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43500351/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com