当前位置:  开发笔记 > 编程语言 > 正文

如何创建灵活的单元测试?

如何解决《如何创建灵活的单元测试?》经验,为你挑选了2个好方法。

我们目前正在使用单元测试来测试我们的项目.我们涵盖了大部分功能,但我认为我们的测试太脆弱了.

我想知道是否有任何特定的事情可以使单元测试更加灵活,因此它们不会因为错误的原因而中断.

有几个答案提到要小心嘲笑太多......那么嘲笑的正当理由是什么?我认为这可能是我们的主要问题之一,但是当你的应用程序主要是一个动态的,数据库驱动的网站时,你如何摆脱嘲弄?



1> Jon Skeet..:

这是一个有点简单的答案,但显示了正确的心态:

如果行为以您关心的方式发生变化,测试应该会中断.

如果行为以您不关心的方式发生变化,测试应该继续有效.

因此,尽可能 - 不要大大超出你的方式 - 确保你正在测试方法的"最终结果"而不关心它是如何到达那里的.需要注意的一件事是嘲弄 - 它非常有用,但很容易让你的测试变得脆弱.



2> Ben Scheirma..:

+1给Jon.说得好.

我发现在更加BDD风格的结构中构建我的测试有很多价值.那就是......拒绝每类固定装置的思维模式,而不是每个上下文固定装置.

我还发现RhinoMocks 3.5的AAA语法要好得多.

这些包括组织和清洁/可读测试.

为了让我的测试不那么脆弱,我开始重新开始嘲笑.模拟框架对于存根依赖关系至关重要,但模拟的越多,测试对实现的了解就越多.如果实现发生变化(但行为没有),那么你的测试不应该破坏.

推荐阅读
帆侮听我悄悄说星星
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有