C# 在使用特定代码的Moq进行单元测试时需要帮助吗
我已经创建了DataColumn类。现在我想使用Moq进行单元测试。我应该如何为此编写代码C# 在使用特定代码的Moq进行单元测试时需要帮助吗,c#,testing,moq,uint,C#,Testing,Moq,Uint,我已经创建了DataColumn类。现在我想使用Moq进行单元测试。我应该如何为此编写代码 [Serializable] public class DataColumn<T> : IDataColumn { private string columnName = null; private T defaultValue; public DataColumn(string columnName) : this(columnName, default
[Serializable]
public class DataColumn<T> : IDataColumn
{
private string columnName = null;
private T defaultValue;
public DataColumn(string columnName) : this(columnName, default(T))
{
}
public DataColumn(string columnName, T defaultValue)
{
ColumnName = columnName;
DefaultValue = defaultValue;
}
public T DefaultValue
{
get
{
return defaultValue;
}
set
{
defaultValue = value;
}
}
public bool IsDefaultValueDefined()
{
return ReferenceEquals(defaultValue, default(T));
}
public string ColumnName
{
get
{
return columnName;
}
set
{
this.columnName = value;
}
}
public Type DataType
{
get
{
return typeof(T);
}
}
public override string ToString()
{
return ColumnName + "[" + DataType.Name + "]" + (IsDefaultValueDefined() ? " (" + DefaultValue + ")" : " ");
}
[可序列化]
公共类数据列:IDataColumn
{
私有字符串columnName=null;
私人T值;
PublicDataColumn(字符串columnName):此(columnName,默认值(T))
{
}
公共数据列(字符串columnName,T defaultValue)
{
ColumnName=ColumnName;
DefaultValue=DefaultValue;
}
公共T默认值
{
得到
{
返回默认值;
}
设置
{
默认值=值;
}
}
公共布尔值IsDefaultValueDefined()
{
返回ReferenceEquals(defaultValue,default(T));
}
公共字符串列名
{
得到
{
返回列名称;
}
设置
{
this.columnName=值;
}
}
公共类型数据类型
{
得到
{
返回类型(T);
}
}
公共重写字符串ToString()
{
返回ColumnName+“[”+数据类型.Name+“]”+(IsDefaultValueDefined()?“(“+DefaultValue+”):”);
}
如何为这段代码创建单元测试?不确定为什么需要Moq来测试这段代码,是否尝试Moq这个类来测试另一个类
Mock<IDataColumn<T>> dc = new Mock<IDataColumn<T>>();
dc.Setup(s=>s.IsDefaultValueDefined).Returns(true);
someOtherObject.SomeMethod(dc.object);
dc.verfiy(s=>s.IsDefaultValueDefined, Times.Once());
Mock dc=new Mock();
Setup(s=>s.IsDefaultValueDefined)。返回(true);
someOtherObject.SomeMethod(dc.object);
dc.verfiy(s=>s.IsDefaultValueDefined,Times.Once());
我想使用moq创建单元测试来测试另一个类。我正在为表格数据库创建类库上面的代码模拟了IDataColumn IsDefaultValueDefined,这样每次调用它时它都会返回true。最后一行将验证它实际上被调用过一次。希望这个示例帮助程序是一些实现c如果T是接口的,您甚至可以模拟它,但通常任何存根都可以作为您的测试,而不是实际测试T