gpt4 book ai didi

java - 如何使用枚举参数对方法进行单元测试?

转载 作者:搜寻专家 更新时间:2023-11-01 01:14:37 24 4
gpt4 key购买 nike

我正在使用 junit 和 EasyMock 对我正在处理的项目进行单元测试。但是,我遇到了一个问题。我有很多方法都有一个枚举参数。

我在尝试模拟枚举时遇到了 java.lang.NullPointerException,似乎枚举无法被模拟。我在这里找到了更多信息:

http://download.oracle.com/javase/tutorial/java/javaOO/classvars.html

有什么好的方法可以在不模拟枚举的情况下对该方法进行单元测试吗?

谢谢!

编辑:Péter Török 是对的!我完全在考虑我可以为枚举插入一些东西的事实。例如:

public void methodName(String description, Location buildingLocation) {

Location 是我的枚举,我可以调用该方法:

methodName("这是我的描述", Location.DENVER);

最佳答案

您的 enum 包含哪些您需要模拟的内容?为什么不能简单地使用可用值本身?

因为 enum 是(应该是)无状态和不可变的,它们应该很容易用于单元测试,你在实例化它们时应该没有问题,它们应该没有(可变的)全局状态并且应该没有使它们难以在单元测试中使用的外部依赖项。

对我来说,以上任何一项都失败将是设计问题的标志,而不是单元测试问题。

关于java - 如何使用枚举参数对方法进行单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5635349/

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