-1

这是一个测试功能

public some_object test_function(some_object obj)
{}

如果我用这个语句来测试这个函数

Assert.AreEqual(some_object, some_object.test_function(obj));

其中 obj 是 some_object 类型的对象。

现在我应该如何测试这个函数,因为如果我尝试在断言函数的期望值参数中使用类名,它会给出类函数此时无效的错误。

4

2 回答 2

0

如果您试图找出相同类型的两个对象是否相等,您可能需要考虑覆盖 equals() 方法。如果您只是想找出返回的对象是某种类型,您可以执行以下操作:

public void IsObjTypeOfSome_objectTest()
{
    bool expected = true;
    bool actual = false;

    /* Assuming that test_function(obj) returns an object type of Some_object */
    if (test_function(obj) is Some_object)
    {
        actual = true;
    }

    Assert.AreEqual(expected, actual);
}
于 2013-04-26T14:50:19.227 回答
0
Assert.AreEqual(some_object, some_object.test_function(obj));

some_object是一个类型名称

some_object.test_function(obj)ia 一个返回对象的静态方法

您不能将类型与实例进行比较。

您可以检查返回对象的类型以确保它是 some_object 类型,例如:

Assert.IsTrue(some_object.test_function(obj) is some_object);
于 2013-04-10T08:34:47.763 回答