我有一个类price
,它有一个公共方法calculateBya()
,它调用另一个私有方法calculateBya()
。
public class Price {
public SomeObject calculate() {
if(someCondition) {
calculateByA()
// ....
} else {
//Calculate something else
}
}
private int calculateByA() {
//calculation logic
}
}
calculate()
并将
SomeCondition
设置为
true
来进行测试。
calculatebya()
更改为package-private并在测试中直接调用它。然而,我不确定哪种方法更好。
我非常不喜欢powermock等人的用法。问题不在于它们允许您绕过visibilitysystem(其他语言根本不需要使用visibilitysystem,例如,请参见python),而在于您试图测试实现细节。
为可见方法编写测试,并观察其私有方法的副作用。在你的例子中,例如在某个地方测试,你的结果与该情况下的预期相匹配。如果因为有很多私有方法而出现问题,可以考虑使用一个包并将代码拆分开来--无论如何,它可能太大了。也用迪卢克!
我需要一些软件测试方面的指导。 我把事情复杂化了,但我太专注了,看不到我做错了什么,也看不到其他做事方式。 我有几个公共方法使用相同的私有方法。 私有方法本身: 必须为其特定角色处理许多场景 假设私有方法需要5个测试来覆盖所有场景,并由6个公共方法使用。 问题 > 然后我是否需要至少5x6个测试? 如何对每个公共方法重复使用私有方法的测试? 有没有关于重构重复测试的示例/文章? 示例 OnStar
在我们的ASP。Net核心应用程序,我们有许多API从服务类调用公共方法。 服务类正在实现一个接口。 每个服务方法(取决于复杂性和需求)可以调用任意数量的内部或私有或辅助方法。 虽然这些内部/私有/或辅助方法中的每一个都单独进行单元测试,但我们如何以这样一种方式测试公共服务方法,即我们不必重复已经在测试内部/私有/辅助方法中花费的代码/精力? e、 我们可以很容易地模拟接口方法,说接口方法需要这些
我是单元测试的新手,最近尝试了JUnit测试和Mockito。 我很困惑我该如何测试公共功能。
以下是设置: 我需要测试公共方法,以检查是否筛选了invalidObjects。如您所见,它将传递给私有的方法。该方法过滤掉无效的对象,并将有效的对象发送给web服务方法。该web服务方法不返回任何内容。因此,我不知道是否只有有效的对象被发送到web服务方法。你建议我怎么做才能检验这个案子?我正在使用Mockito框架来模拟对象。
我正在为我的一个应用程序编写单元测试,作为一个很好的实践,我试图使我的类中的所有方法尽可能私有,所以我最终可能会使用大部分私有方法的类,很少使用公共方法,有时还会调用一些静态方法(我的其他类或一些文本,等等) 我想知道如何测试我试图只依赖Mockito和JUnit的所有类,因为Robolectric和Powermockito似乎扩展了单元测试中应该做什么的边界。我应该忽略所有私有和静态方法,以及偶
公共方法getA()的测试按预期工作,但私有方法getB()的测试不返回模拟值“b”,而是返回与方法getB()的实际返回值相对应的“b”。必须如何调整对getB()的测试,以便返回模拟值“b”?