【发布时间】:2020-08-18 01:21:42
【问题描述】:
基本上,我有一个类,重要的部分是这样的:
class A{
double num = 2;
public double getNum(){
return num;
}
}
我想确保它不看起来像这样:
class A{
public double getNum(){
return 2;
}
}
有没有办法用 Mockito 或 PowerMockito 做到这一点?
我是 PowerMockito 的新手,刚接触 Mockito 几个月,如果这是一个愚蠢的问题,我很抱歉。
【问题讨论】:
-
你为什么要测试它?我相信测试更关注行为而不是内部实现(您的字段是 package-private 并且没有设置器)。
-
是的,我使用 Mockito 有点不合常规。它适用于高中机器人技术,我们正在教新生如何控制机器人。我不希望他们将电机功率设置为 0.2;或者其他什么,我希望它是我们给他们的枚举中的一个变量。长话短说,我只是想知道我是否可以测试它是一个变量还是一个数字。由于我们使用的是 WPILib 制作的框架,它有点像遗留代码,因为某些事情必须以某种方式完成。这是我的问题的简化版本。谢谢你的回答。我认为这是不可能的,但是......
-
“我不希望他们将电机功率设置为 0.2”是测试可以涵盖的内容。但是你必须反过来想。您不必断言 getter 的返回值,而是必须验证相应 setter 的参数(例如
motor.setPower(...))。在这种情况下,您将测试行为:“不应将电机功率设置为 0.2”。
标签: java methods mockito return powermockito