gpt4 book ai didi

java - 使用格式(字符串、字符串、枚举)的 JUnit 测试

转载 作者:行者123 更新时间:2023-12-01 13:08:50 24 4
gpt4 key购买 nike

我的教授要求 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"));

关于java - 使用格式(字符串、字符串、枚举)的 JUnit 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23049991/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com