Unit testing 为TypeScript中的抽象类创建扩展匿名类

Unit testing 为TypeScript中的抽象类创建扩展匿名类,unit-testing,typescript,abstract-class,Unit Testing,Typescript,Abstract Class,我有一个抽象类,它几乎没有实现的受保护方法和抽象方法。 我正在尝试为受保护的方法编写一些测试 因为这些即使在外部世界的扩展类中也不可用,所以我想创建一个匿名测试类,它可以扩展和验证/模拟我的东西 export abstract class AbsClass implements AbsInterface { protected extract(filter: string) { //some implemented code to test } abstrac

我有一个抽象类,它几乎没有实现的受保护方法和抽象方法。 我正在尝试为受保护的方法编写一些测试

因为这些即使在外部世界的扩展类中也不可用,所以我想创建一个匿名测试类,它可以扩展和验证/模拟我的东西

export abstract class AbsClass implements AbsInterface {

    protected extract(filter: string) {
    //some implemented code to test
    }

    abstract someMethod();
}
我不知道如何匿名创建这样的东西


我以前碰到过这个。导出/抽象关键字似乎相互干扰。我必须定义类,然后在单独的一行上导出,才能解决这个问题

例如:

abstract class BaseClass {}

export default BaseClass

中讨论了一些变通方法。另见:

简而言之,现在很难表示访问其超类的私有/受保护成员的匿名类。如果您只是尝试测试超类的一部分,那么实现类真的必须是匿名的吗


顺便说一句:我对一般的测试还是相当陌生的,但是我已经看到了很多关于不显式测试私有/受保护方法的措辞强硬的建议。测试调用私有/受保护API方法的公共API方法是否更可取?

我不知道你在问什么。TestClass无效,因为它没有实现抽象的someMethod。@Aaron,我会模拟该方法或用一些测试代码实现。我仍然不明白它。。。您是否在问如何在不实现抽象类的抽象方法的情况下扩展抽象类?您显示的代码的哪一部分不适合您?你希望它如何工作?@Aaron,简单一点,那个匿名类将实现抽象方法。我的问题是如何在typescript中创建匿名类,它扩展/实现了抽象类。我不知道匿名类是什么意思。您发布的代码的哪一部分不符合您的要求?你想让它做什么?导出摘要应该可以。很遗憾,导出默认摘要不起作用。正确,我假设标题的匿名性质表示默认,但可能不是这样。啊,你可能是对的。我从来没有想到过也许你可以给Reddy举个例子?@Arcine,举个例子对我和未来的社区都很有帮助:
abstract class BaseClass {}

export default BaseClass