使用 Visual Studio 单元测试框架,我正在考虑两个选项:
Assert.AreEqual(myObject.GetType(), typeof(MyObject));
和
Assert.IsInstanceOfType(myObject, typeof(MyObject));
这两个选项有区别吗?一个比另一个更“正确”吗?
执行此操作的标准方法是什么?
最佳答案
如果类型不完全相同,第一个示例将失败,而第二个示例仅在 myObject
不可分配给给定类型时才会失败,例如
public class MySubObject : MyObject { ... }
var obj = new MySubObject();
Assert.AreEqual(obj.GetType(), typeof(MyObject)); //fails
Assert.IsInstanceOfType(obj, typeof(MyObject)); //passes
关于c# - 单元测试对象类型的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22362634/