NUnit小问题解决
测试用例是这样的
object[] integer_cases()
{
return new object[]{
int.MinValue,
int.MinValue/2,
-100,
-1,
-0,
1,
100,
int.MaxValue/2,
int.MaxValue
};
}
{
return new object[]{
int.MinValue,
int.MinValue/2,
-100,
-1,
-0,
1,
100,
int.MaxValue/2,
int.MaxValue
};
}
测试代码是这样的
[Test]
public void 序列化整型([ValueSource("integer_cases")] object value)
{
//int i = (int)value;
object[] oi = (object[])value;
Assert.AreEqual("["+oi[0].ToString()+"]", cwrite(value).ToString());
}
public void 序列化整型([ValueSource("integer_cases")] object value)
{
//int i = (int)value;
object[] oi = (object[])value;
Assert.AreEqual("["+oi[0].ToString()+"]", cwrite(value).ToString());
}
如你所见,参数[ValueSource("integer_cases")] object value会指向上述声明的数组object[],在Assert.AreEqual里面,第二个参数会自动转换单个object,而第一个参数不会自动转换。所以,自定义声明一个object[] oi,然后怎么做就看你自己咯。
合乎自然而生生不息。。。