如何为返回对象的方法编写测试用例

时间:2012-04-06 00:08:50

标签: java object junit testcase

我有一个返回类型为object的方法。如何为此创建测试用例?我如何提到结果应该是一个对象?

e.g:

public Expression getFilter(String expo)
{
    // do something
    return object;
}

2 个答案:

答案 0 :(得分:1)

在你的例子中,返回类型是Expression?我不明白这个问题,你能详细说明一下吗?

该函数甚至无法返回除Expression之外的任何内容(或派生类型或null)。所以“检查类型”将毫无意义。

[TestMethod()]
public void FooTest()
{
    MyFoo target = new MyFoo();
    Expression actual = target.getFilter();

    Assert.IsNotNull(actual);  //Checks for null
    Assert.IsInstanceOfType(actual, typeof(Expression)); //Ensures type is Expression
}

我在这里假设C#;你没有标记你的问题,也没有提到你问题中的语言。

答案 1 :(得分:1)

尝试这样的事情。如果您的函数的返回类型为Object,请将Expression替换为Object

//if you are using JUnit4 add in the @Test annotation, JUnit3 works without it.
//@Test
public void testGetFilter(){
    try{
        Expression myReturnedObject = getFilter("testString");
        assertNotNull(myReturnedObject);//check if the object is != null
        //checks if the returned object is of class Expression
        assertTrue( true, myReturnedObject instaceof Expression);
    }catch(Exception e){
        // let the test fail, if your function throws an Exception.
        fail("got Exception, i want an Expression");
     }
}