Typescript 我如何建立一个;“测试端口”;,通过哪些选定的私有功能是公共的?
以下是我想要的: 一种实用程序类型,其测试端口为Typescript 我如何建立一个;“测试端口”;,通过哪些选定的私有功能是公共的?,typescript,Typescript,以下是我想要的: 一种实用程序类型,其测试端口为 class C { public p0() { return pv1() + this.pv2(); } private pv1() { ... } private pv2() { ... } } type CT = TestPorted<CT, 'pv1', 'pv2'>; 我试图建立一种方法,让一个类导出其私有签名的子集,以便以一种与类的公共接口明显不同的方式进行测试 看看任何
class C {
public p0() {
return pv1() + this.pv2();
}
private pv1() {
...
}
private pv2() {
...
}
}
type CT = TestPorted<CT, 'pv1', 'pv2'>;
我试图建立一种方法,让一个类导出其私有签名的子集,以便以一种与类的公共接口明显不同的方式进行测试
看看任何一件常用的复杂设备。对于训练有素的技术人员来说,总有办法比训练有素的操作员获得更多的内部信息。过去25年中的每辆车都有一个OBD-II端口;司机不知道它在那里,但机修工知道
显然,这不能单纯用类型来完成,但我认为类型和类lodash函数的某些组合可以建立并遵守一个只进行并行测试的契约。我怀疑这需要,例如。-目前您只能用
-readonly
来完成。我想不用说,通常不鼓励通过私有接口进行测试。@jornsharpe-现在方法的类别是“私有”(只对类重要)和“公共”(永久签名的一部分);我想再加上第三个。
class CT {
public p0() {
return pv1() + this.pv2();
}
public testPort() {
return {
pv1: () => this.pv1(),
pv2: () => this.pv2(),
}
}
private pv1() {
...
}
private pv2() {
...
}
}