迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Java >

在 Java 中测试私有方法

作者:迹忆客 最近更新:2023/08/07 浏览次数:

如果您是测试人员,您可能会对给定代码执行许多测试操作。 但有时,如果您有一个包含私有方法的类,则无法访问执行测试操作。

私有方法是外部无法访问的方法,这意味着外部无法调用它。 它仅适用于类的内部元素。

它只会响应内部调用,但是有一个想法可以通过它快速测试私有方法。 本文将展示如何测试私有方法。


在Java中测试私有方法

假设我们有一个如下所示的类需要测试:

class MyClass {
    private int Sum(int a, int b){ // method is private
        return a+b;
    }
}

我们可以看到,上面的代码有一个名为 Sum() 的私有方法。 让我们看看如果我们尝试使用另一个名为 Test 的类来测试该方法会发生什么。

public class Test {
    public static void main(String[] args) {
        // Created an object for the class "MyClass"
        MyClass mc = new MyClass(); 

        // Error: Called the private method externally
        System.out.println("The result is: "+mc.Sum(4,5));
    }
}

它将返回您并显示以下错误:

error: Sum(int,int) has private access in MyClass

由于 Sum() 是 MyClass 类中的私有方法,因此我们无法从外部访问它。 所以现在,检查它的唯一方法是在类 MyClass 中包含一个公共方法,该方法将调用 Sum() 方法。

公共方法将如下所示:

public int NewSum (int a, int b){
    // A public method that can call the private method internally.
    return Sum(a, b);
}

上面的方法将调用 MyClass 类内部的 Sum() 方法。 现在 MyClass 类的完整版本将如下所示:

class MyClass {
    private int Sum(int a, int b){ // Private method
        return a+b;
    }
    public int NewSum (int a, int b){ // Public method
        return Sum(a, b);
    }
}

更新 MyClass 后,您现在可以测试私有方法 Sum()。 但是您需要从 MyClass 的对象中调用公共方法 NewSum()。

现在我们更新的测试类将如下所示:

class Test {
    public static void main(String[] args) {
        // Created an object for the class "MyClass"
        MyClass mc = new MyClass(); 

        // Called the public method "NewSum()"
        System.out.println("The result is: "+mc.NewSum(4,5));
    }
}

在上面的代码栅栏中,您可以看到我们从对象 MyClass 类中调用了类 NewSum()。 如果 Sum() 方法没有任何错误或错误,它将显示以下输出:

The result is: 9

上面,我们分享了测试私有方法并查看其是否正常工作的最基本方法。

上一篇:用Java解析HTML

下一篇:没有了

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

用Java解析HTML

发布时间:2023/08/07 浏览次数:70 分类:Java

本文讨论如何解析 HTML 文件。 此外,我们将通过提供必要的示例和解释来讨论该主题,以使该主题更容易。Jsoup 在 Java 中的工作

Java Lang Runtime Java 中的 exec() 方法

发布时间:2023/08/07 浏览次数:85 分类:Java

本文介绍了 Java 的 Runtime.exec() 方法。Java Lang Runtime Java 中的 exec() 方法 Java Lang Runtime 类用于每个 Java 应用程序与类运行时实例和环境接口之间的交互。

控制 java.io.tmpdir 的环境变量

发布时间:2023/08/07 浏览次数:138 分类:Java

本文将介绍名为 java.io.tmpdir 的环境变量,它可用于调节 Java 的临时文件目录。Java虚拟机(JVM)可以生成临时文件并将它们存储在java.io.tmpdir系统参数指定的目录中。

Java 中的 Zulu

发布时间:2023/08/07 浏览次数:57 分类:Java

Zulu 是 Java 11 的一部分。它受到广泛的操作系统和硬件平台的支持。如何在 Java 中安装 Zulu 首先,从 Azul 的官方下载页面下载必要的 ZIP 或 TAR.GZ。

在 Java 中使用 Mockito 模拟静态方法

发布时间:2023/08/07 浏览次数:180 分类:Java

本文介绍了如何使用mockito来模拟Java中的静态方法。Java 中的模拟静态方法 在 Java 中执行单元测试时需要模拟静态方法。

JVM -XSS 选项

发布时间:2023/08/07 浏览次数:141 分类:Java

-Xss 标志主要用于更改 JVM 堆栈的大小。 让我们看一下下面的命令,通过这些命令我们可以更改 JVM 堆栈的大小。使用 -Xss 更改 JVM 堆栈的大小

Java Goto

发布时间:2023/08/07 浏览次数:72 分类:Java

与其他编程语言不同,Java 没有 goto。 相反,Java 包含关键字 label。关键字 label 的作用是改变程序的流程,根据指定的条件跳转到程序的另一段。

Java - 在方法参数中使用 Nullable 注注解

发布时间:2023/08/07 浏览次数:181 分类:Java

本文简要讨论 @Nullable 注解,并通过代码示例演示其在方法参数中的使用。@Nullable 注解及其在方法参数中的使用 @Nullable 注释允许您创建可以返回 null 值的方法调用。

Java - 在方法参数中使用 NotNull 注解

发布时间:2023/08/07 浏览次数:148 分类:Java

本文将讨论 @NotNull 注解,并使用代码示例来演示我们如何在 Java 中工作时在方法参数中使用它。@NotNull 注解概述 如果你想设置变量或方法不返回任何空值,那么你可以使用 @NotNull 注解。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便