C# 如何在NUnit中断言DataTable?
我已经基于C# 如何在NUnit中断言DataTable?,c#,unit-testing,nunit,C#,Unit Testing,Nunit,我已经基于NUnit框架编写了一个单元测试,我想知道如何断言从方法返回的DataTable 目前,我做了如下工作: [Test] public void GetTableColumns_WhenCalled_ShouldReturnTableColumnList() { // Act DataTable dataTable = _sut.GetTableColumns(Statics.SystemUsersTableName); // Assert Assert
NUnit框架
编写了一个单元测试
,我想知道如何断言从方法返回的DataTable
目前,我做了如下工作:
[Test]
public void GetTableColumns_WhenCalled_ShouldReturnTableColumnList()
{
// Act
DataTable dataTable = _sut.GetTableColumns(Statics.SystemUsersTableName);
// Assert
Assert.IsNotNull(dataTable, "DataTable is empty");
}
使用
Assert.IsNotNull
方法断言DataTable数据是最佳做法吗?您实际试图断言的行为是什么?这似乎是一个错误。您试图实现的最终目标是什么?当您希望断言DataTable不为空时,这是最佳做法。@Nkosi我想检查返回的DataTable是否有行,并确保我的方法工作正常。@Ahmadayan然后您还需要检查该表并确认其内容。您实际尝试的行为是什么断言?这似乎是一个错误。您试图达到的最终目标是什么?当您希望断言DataTable不为空时,这是最佳做法。@Nkosi我想检查返回的DataTable是否有行,并确保我的方法工作正常。@Ahmadayan然后您还需要检查该表并确认其内容。
[Test]
public void GetTableColumns_WhenCalled_ShouldReturnTableColumnList()
{
// Act
var dt= _sut.GetTableColumns(Statics.SystemUsersTableName);
// Assert
Assert.That(!dt.HasRow());
}
public static bool HasRow(this DataTable dt)
{
return dt != null && dt.Rows.Count > 0;
}