如何解决单元测试属性修改器
我说的是Typescript,但这可能是一个普遍的问题...
如何测试属性为只读?
我的意思是,这是一种语言功能,因此似乎很明显,如果我将一个属性声明为只读,则由于代码无法编译,因此没有人可以重新分配它,但是没有任何测试,没有人向我保证我可以安全地更改代码,使属性可写,然后对其进行修改... 那么,如果该属性可写,我该如何编写失败的单元测试?
解决方法
您还要测试其他属性是私有的还是公共的?不要走那条路。这显然是过度测试的情况。
,你能编写这样的测试吗?是的;使用简单的 javascript 调用您的 Typescript 代码转换为的 javascript 代码。
但是,应该编写这样的测试吗? 号
使用诸如 Typescript 之类的转译和/或编译语言的主要原因之一是编译器承担了部分正确性负担。具体来说,就是语言提供的保证的正确性。
所以请坐下来享受编译器为您完成的繁重工作。
一个警告:如果您的项目混合使用 javascript 和 Typescript,那么您可能想要考虑它,但是花时间将 javascript 位重写为 Typescript 可能仍然更好。
编辑:
从测试的角度看情况:测试需要什么才能现在通过而稍后由于回归而失败?
好吧,由于如果稍后的一些编辑修改了 readonly
属性,代码将无法编译,因此此编辑必须包括从属性中删除 readonly
。
但是看到并拒绝了这个守卫,是什么阻止编辑删除现在也失败的测试?
所以从某种意义上说,readonly
修饰符是测试。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。