c# - 单元测试对象类型的正确方法

标签 c# .net vs-unit-testing-framework

使用 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/

相关文章:

c# - 确保用户只能保存在文件夹内

code-coverage - .net核心项目代码覆盖率Visual Studio 2017

c# - 如何使用 NetOffice 更改 excel 行的行颜色?

C# 在命中属性之前运行一段代码

.net - 有没有办法将压缩文件放在与压缩文本文件相同的文件夹中?

.net - 如何将我的 View 模型属性绑定(bind)到应用程序设置?

unit-testing - 构建从单元测试执行开始

visual-studio-2012 - 通配符测试容器到 mstest。可执行程序

c# - 适用于 .NET 的 OData 4.x 解析器

c# - 用于替换除数字之外的所有字符的正则表达式