java - 当公共(public)方法具有私有(private)方法依赖性时如何测试公共(public)方法

标签 java unit-testing testing junit4 junit5

当公共(public)方法具有私有(private)方法依赖项时如何测试公共(public)方法

示例:

Class Person {
    private String name;

    public void getFancyname(String name){
        generateName();
    }

    private generateName(){ ... }

最佳答案

私有(private)方法是公共(public)方法的实现细节。

它们永远不应该被模拟/ stub 等(只有一些复杂的遗留代码除外)。

如果您的公共(public)方法使用了很多它们,您可能会考虑将私有(private)方法中包含的一些逻辑提取到一个单独的类中,并单独测试该逻辑。这称为发芽法。您将降低公共(public)方法本身的复杂性并使其更容易测试

关于java - 当公共(public)方法具有私有(private)方法依赖性时如何测试公共(public)方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60704791/

相关文章:

Java 使用 BeanBinding Netbeans 更新 JList

java - Neo4jRepository 中的 findAll 方法对于嵌套属性返回 null

c# - 使用 Xunit 测试多个派生类型的最佳方法是什么?

testing - 如何在 Julia 中创建动态命名的测试集?

cocoa - 你如何测试你的 Cocoa 图形用户界面?

mysql - 我需要测试这个吗?

JAVA:对数组进行降序排序

Java:通过进程控制浏览器

java - 使用 Mockito 1.9.5 模拟 JdbcTemplate.queryForObject(..,...,...,)

c# - Moq 模拟泛型和表达式函数