C# 单元测试:可以使用条件访问而不是 Debug.Assert 吗?
C# unit tests: Is it OK to use conditional access instead of Debug.Assert?
所以我对控制器操作 (MVC 5) 进行了以下单元测试。测试的目的是确保控制器 returns 类型 Contact
:
的模型的编辑操作
[TestMethod]
public void Edit_ValidContactIdPassed_ShouldReturnEditViewWithContact()
{
var result = _controller.Edit(1) as ViewResult;
result?.ViewData.Model.Should().BeOfType<Contact>();
}
如您所见,我在 result
对象上使用条件访问 (?) 而不是:
Debug.Assert(result != null, "result != null");
我认为条件访问更具可读性,但在单元测试的上下文中是否存在任何问题?
好吧,如果你正在测试 var result
并且测试必须是 negative 如果它是 == null
在这种情况下你将防止错误被触发与条件访问一样,您可以防止潜在的 NullPointerException
Assert.IsNotNull(result);
毕竟还不错:)!
所以我对控制器操作 (MVC 5) 进行了以下单元测试。测试的目的是确保控制器 returns 类型 Contact
:
[TestMethod]
public void Edit_ValidContactIdPassed_ShouldReturnEditViewWithContact()
{
var result = _controller.Edit(1) as ViewResult;
result?.ViewData.Model.Should().BeOfType<Contact>();
}
如您所见,我在 result
对象上使用条件访问 (?) 而不是:
Debug.Assert(result != null, "result != null");
我认为条件访问更具可读性,但在单元测试的上下文中是否存在任何问题?
好吧,如果你正在测试 var result
并且测试必须是 negative 如果它是 == null
在这种情况下你将防止错误被触发与条件访问一样,您可以防止潜在的 NullPointerException
Assert.IsNotNull(result);
毕竟还不错:)!