在Rhino Mocks中模拟类和接口有什么不同?
发布于 2011-03-15 21:53:45
你不能模拟具体的类本身,除非这个类是抽象的或者有虚方法。您可以伪造抽象类的约定,或者使用Rhino Mocks用伪造的方法覆盖虚方法。
模拟一个接口仅仅意味着你定义了一个假的接口实现。
发布于 2011-03-15 21:54:19
要模拟一个类,需要将属性和函数声明为virtual。当模拟一个界面时,你可以自由地模拟,没有问题。
此外,如果你模拟一个类,也可以运行未被模拟的代码,如果你模拟一个接口,这是不可能的。假设你想要检查你的类是如何工作的,当一个特定的函数返回一个特定值时,你可能不得不模拟一个类。不过,我建议尽可能多地使用模拟接口。这要容易得多。
https://stackoverflow.com/questions/5312662
复制相似问题