2012-04-06 5 views
0

반환 유형이 object 인 메소드가 있습니다. 이 경우 테스트 케이스를 어떻게 만듭니 까? 그 결과가 객체이어야한다고 어떻게 말합니까? 당신의 예에서객체를 반환하는 메소드의 테스트 케이스 작성 방법

예컨대 :

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

. 메서드는 표현식을 반환합니다. Java의 모든 것은 "표현식"을 포함하여 "객체"입니다. 정확히 무엇을 테스트하고 싶습니까? – Guillaume

답변

1

시도해주세요. 함수의 리턴 형이 Object 인 경우 Object으로 Expression 대체 :이 명확하지 않다

//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"); 
    } 
} 
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#으로 가정합니다. 귀하의 질문에 태그를 추가하거나 귀하의 질문에 해당 언어를 언급하지 않았습니다.

+0

안녕 나는 junit testcase 필요합니다. 나는 Expression이 실제로 그 객체를 언급했다. – Jessie

+1

다음 번에 'java'및 'junit'으로 질문에 태그를 지정하고 예제 코드가 정확하게 문제를 재현하거나 보여 주는지 확인하십시오 ;-) (이번에는 도움이 되었습니까?) 나는 열쇠가 [instanceof] (http://www.java2s.com/Tutorial/Java/0060__Operators/TheinstanceofKeyword.htm)이 될 것이라고 생각하지만 나는 자바 전문가가 아니다 :-) 당신은 http :// /stackoverflow.com/questions/496928/what-is-the-difference-between-instanceof-and-class-isassignablefrom – RobIII