使用格式(String、String、Enum)进行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测试正常运行呢。顺便说一句,这就是我的枚举类的样子,所以它应该可以工作。

//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"));

最新更新