我的教授要求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测试正常运行呢。顺便说一句,这就是我的枚举类的样子,所以它应该可以工作。
//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;
}
}
如果不能更改方法签名,则有两个选项:显式传递枚举值,或者使用valueOf方法并使用与枚举值对应的字符串。
所以不是
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"));