戻り型がオブジェクトであるメソッドがあります。このためのテストケースを作成するにはどうすればよいですか?結果がオブジェクトであるべきだとどのように言うのですか?
例えば:
public Expression getFilter(String expo)
{
// do something
return object;
}
このようなものを試してください。関数の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");
}
}
あなたの例では、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#を想定しています。質問にタグを付けたり、質問の言語について言及したりしていません。