2

戻り型がオブジェクトであるメソッドがあります。このためのテストケースを作成するにはどうすればよいですか?結果がオブジェクトであるべきだとどのように言うのですか?

例えば:

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

2 に答える 2

4

このようなものを試してください。関数のreturn-typeが次のよう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
        //check if the returned object is of class Expression.
        assertTrue(true, myReturnedObject instanceof Expression);
    } catch(Exception e){
        // let the test fail, if your function throws an Exception.
        fail("got Exception, i want an Expression");
     }
}
于 2012-07-10T17:00:34.220 に答える
1

あなたの例では、returntypeは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#を想定しています。質問にタグを付けたり、質問の言語について言及したりしていません。

于 2012-04-06T00:10:55.477 に答える