要测试这一点，测试一直要等到闹铃时间才知道闹钟程序是否正确地响铃。如果使用一个模拟对象替代真实的对象，可以变成提供一个闹铃时间（不管是否实际时间）,这样就可以隔离地测试闹钟程序。
技术细节.模拟对象具有和要模拟的真实对象的相同的接口，可以让调用该接口的对象不知道在使用真实对象还是模拟对象。现有的许多模拟对象框架允许程序员指定模拟对象上的哪些方法，将按照什么顺序被调用，以及传入什么参数，将返回什么值。这样，复杂对象（例如网络套接字）的行为将可以使用模拟对象来模拟，允许程序员来发现