2014-04-14 3 views
0

내 교수는 JUnit 테스트이 형식JUnit 테스트 (문자열, 문자열, 열거)

company = new Company("New Source"); 
    company.addEmployee("John", "Smith","Manufacturing"); 
    company.addEmployee("Bob", "Brown", "Manufacturing"); 
    company.addEmployee("Harold", "Jones", "Sales"); 
    company.addEmployee("Betty","Boop", "Design"); 

에 있어야하지만, 문제는 방법은이 형식입니다

public String addEmployee(String fName, String lName, Position p) 

및 Position이 열거 형 메서드 여야합니다. 그렇다면 JUnit 테스트를 제대로 실행하려면 어떻게해야합니까? 그리고 btw 내 열거 형 클래스가 그렇게 보이게 작동해야합니다. 명시 적으로 열거 값을 전달하거나, valueOf 메소드를 사용하여 열거 형의 값에 해당하는 문자열을 사용 : 당신이 메서드 서명을 변경할 수없는 경우

//in Position.java 
public enum Position { 
DESIGN("Design"), 
MANUFACTURING("Manufacturing"), 
SALES("Sales"); 

private final String positionName; 


private Position(String positionName) { 
    this.positionName= positionName; 
} 


@Override 
public String toString() { 
    return positionName; 
} 
} 
+0

당신이 "열거 방법"에 의해 무엇을 의미합니까? 'Position'은 enum입니까? – Makoto

+0

네 자리가 enum입니다 – user3530205

+0

난 단지 열거 형을 볼 수 있도록 질문을 편집했습니다. – user3530205

답변

1

, 당신은 두 가지 옵션이 있습니다.

그래서보다는

company = new Company("New Source"); 
company.addEmployee("John", "Smith","Manufacturing"); 

사용 중

company = new Company("New Source"); 
company.addEmployee("John", "Smith", Position.MANUFACTURING); 

또는

company = new Company("New Source"); 
company.addEmployee("John", "Smith", Position.valueOf("Manufacturing")); 
+0

빠른 답변 감사합니다. – user3530205

+1

문제 없습니다. Java enum은 다른 언어에 비해 매우 강력합니다. 과제가 끝나면 [docs] (http://docs.oracle.com/javase/tutorial/java/javaOO/enum.html)의 예제를 수행해보십시오. – dmcauslan