【发布时间】:2020-09-18 17:43:20
【问题描述】:
我说的是 Typescript,但它可能是一个通用问题...
如何测试一个属性是只读的?
我的意思是,它是一种语言特性,所以似乎很明显,如果我将一个属性声明为只读,没有人可以重新分配它,因为代码不会编译,但没有任何测试,没有人向我保证我可以安全地更改代码,使属性可写,然后修改它... 那么如果属性是可写的,我该如何编写一个失败的单元测试呢?
【问题讨论】:
-
您需要实现运行时检查才能做到这一点,因为 typescripts readonly 仅在编译期间。在运行时它确实是可写的。因此,如果不修改代码,您就无法对其进行单元测试。此外,您通常不想对此进行单元测试。而是测试你的类的外部接口的行为,并在测试过程中尽量不依赖内部状态。
-
“单元测试”并不是我们确保工作质量的唯一工具。
标签: typescript unit-testing tdd