我最近看了J.B.Rainsberger的“集成测试是一个骗局。”,现在正在寻找更多关于这个主题的资料。我不得不说,我对我们做错了多少事情感到震惊(即当我们应该进行单元测试时进行集成测试),对Rainsberger描述的概念感兴趣,但也对如何应用这些概念感到困惑。我想要更多描述的协作测试和合同测试,但是我不知道从哪里开始。
唯一困扰我的是测试需要问的四个问题:
侧A:
Do I ask the right question?
Can I deal with the answer?侧B:
Can I answer a question?
Do I answer correctly?但是如何将其应用于应用程序堆栈中的一些随机方法?
有没有一本书、一本教程或一个例子,以现实世界为例,并应用这些孤立的微观测试的想法?理想情况下,示例使用Java、C#或C++。
任何有关这些概念的文献,如果能帮助我更好地理解这些概念,我们将不胜感激。
此外,如果有论坛,我可以问更详细的问题,如何正确地进行单元测试,甚至可能重构现有的代码和张贴的例子将是好的。
谢谢!
发布于 2012-02-15 16:48:07
我推荐xUnitTestPatterns - Gerald的重构测试代码,它提供了一些关于您的问题的洞察力,以及在单个方法级别测试时各种实践的优劣之处的很多细节。
如果你读过Fowler的重构,你会发现你的问题的答案不一定是黑白分明的,而是基于你和其他人经验的启发。
发布于 2015-10-25 16:02:44
Rainsberger夸大了集成测试的效率,以证明他在代码中达到100%质量(基本正确性)的目的。
DbC专注于A和B双方之外的责任和利益的正规化。就像接口的扩展。因此,主要的焦点变成了契约本身,这是中间的一层,它会告诉双方是否可以相互交流。
Rainsberger很清楚地说,到目前为止还没有明确的库或语言支持,并且实现了A模拟和B输入来问同一件事情,暗示这可能是某人的PhD工作。
但是Jim有一个很好的例子,合同是一种面向对象的测试模式,对于同意使用它的双方来说都是https://www.youtube.com/watch?v=7Yw744FMqTY。
https://stackoverflow.com/questions/9276337
复制相似问题