在面向对象程序设计中，模拟对象（，也译作模仿对象）是以可控的方式模拟真实对象行为的假的对象。程序员通常创造模拟对象来测试其他对象的行为，很类似汽车设计者使用碰撞测试假人来模拟车辆碰撞中人的动态行为。
为什么要使用模拟对象.在单元测试中，模拟对象可以模拟复杂的、真实的（非模拟）对象的行为， 如果真实的对象无法放入单元测试中，使用模拟对象就很有帮助。在下面的情形，可能需要使用模拟对象来代替真实对象：例如，一个可能会在特定的时间响铃的闹钟程序可能需要外部世界的当前时间。要测试这