我已经开始研究整个单元测试/测试驱动的开发理念,我越是想到它,它似乎越充满静态类型检查的类似角色.这两种技术都可以为程序中的某些错误提供编译时快速响应检查.但是,如果我错
那么,如果您使用单元测试,是否有任何理由使用静态类型检查的语言? here问了一个类似的问题,但我想详细介绍一下.静态类型检查具有哪些特定优势(如果有)超过单元测试?我想到了编译器优化和智能感知等一些问题,但这些问题还有其他解决方案吗?还有其他我没想过的优点/缺点吗?
我认为自动单元测试对动态类型语言很重要,但这并不意味着它会替换您应用的上下文中的静态类型检查.事实上,一些使用动态类型的人实际上可能正在使用它,因为他们不想要经常进行类型安全检查的麻烦.动态类型语言提供的优于静态类型语言的优势远不止于测试,类型安全仅仅是一个方面.与动态和静态类型语言相比,编程风格和设计差异也有很大差异.
此外,过于强烈地强制执行类型安全的单元测试意味着软件不应该是动态类型的,或者应用的设计应该用静态类型语言编写,而不是动态类型.