简介 在理想情况下,你所做的所有测试都是能应对你实际代码的高级测试.例如,UI 测试将模拟实际的用户输入(Klaas 在他的文章中有讨论)等等.实但际上,这并非永远都是个好主意.为每个测试用例都访问一次数据库或者旋转一次 UI 会使你的测试跑得非常慢,这会降低你的生产力,并导致你不去经常跑那些测试.若你测试的某段代码依赖于网络连接,这会要求你的测试环境具备网络接入条件,而且这也难以模拟某些特殊的测试,比如当电话处于飞行模式情况下的时候. 正因如此,我们可以用一些模拟代码替换你的实际代码来编写一些…