如果您需要直接测试它们,最简单的做法就是将它们公之于众。
另一种选择是使它们受到保护,然后拥有一个子类,其中包含一系列额外的公共方法,这些方法调用受保护的方法来测试它们(也许每个被测试的方法都有一个,它们只是直接将调用传递给受保护的方法)。
然而,这个问题的前提与单元测试的思想相悖:您应该测试您的类提供的公共接口/契约,它们只是它的公共方法。只要公共方法经过良好的测试,任何私有方法都只是实现细节。
我有以下代码 我对嘲笑不熟悉。我有以下疑问。我正在尝试测试公共方法。 我是否可以断言私有变量workDone的值? 是否可以验证超类中的方法调用? 如何在方法中模拟私有方法调用?
公共方法getA()的测试按预期工作,但私有方法getB()的测试不返回模拟值“b”,而是返回与方法getB()的实际返回值相对应的“b”。必须如何调整对getB()的测试,以便返回模拟值“b”?
我有一个Angular 11项目,我不知道如何测试私有方法。 下面是一个代码示例: 有什么想法吗?
我需要测试来运行该方法。我有这样的课: 我不能改变这门课。我不能将方法的可见性从private更改为public或向类中添加另一个方法。这门课不让我写一个字。 所以我写了这个测试: 提前道谢。
我的任务是为其他人实现的一些组件实现测试。我尽量不修改他们的代码,但我发现这很难,因为他们把所有的方法都私有化了,而且他们在方法中发出HTTP请求并订阅它,这让我很难弄清楚最好的测试场景是什么。下面是一个例子: 总而言之: > 这种情况最好的测试场景是什么?
我需要一些软件测试方面的指导。 我把事情复杂化了,但我太专注了,看不到我做错了什么,也看不到其他做事方式。 我有几个公共方法使用相同的私有方法。 私有方法本身: 必须为其特定角色处理许多场景 假设私有方法需要5个测试来覆盖所有场景,并由6个公共方法使用。 问题 > 然后我是否需要至少5x6个测试? 如何对每个公共方法重复使用私有方法的测试? 有没有关于重构重复测试的示例/文章? 示例 OnStar