如何模拟修改私有变量的私有方法?

2023-11-29

如何模拟修改私有变量的私有方法?

class SomeClass{
    private int one;
    private int second;

    public SomeClass(){}

    public int calculateSomething(){
        complexInitialization();
        return this.one + this.second;
    }

    private void complexInitialization(){
        one = ...
        second = ...
    }
}

你不,因为您的测试将取决于正在测试的类的实现细节,因此会很脆弱。您可以重构代码,使当前正在测试的类依赖于另一个对象来执行此计算。然后你可以模拟被测类的这种依赖关系。或者,您将实现细节留给类本身,并充分测试它的可观察行为。

您可能遇到的问题是您没有将命令和查询完全分离到您的类中。calculateSomething看起来更像是一个查询,但是complexInitialization更多的是一个命令。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何模拟修改私有变量的私有方法? 的相关文章

随机推荐

  • iPhone 5 优化要求 - 启动图片真的有必要吗?

    当尝试将二进制文件上传到 App Store 时 我在电子邮件中收到以下回复 iPhone 5 优化要求 您的二进制文件未针对 iPhone 5 进行优化 自 5 月 1 日起 提交的所有新 iPhone 应用程序和应用程序更新必须支持 i
  • 为 vs2012 c++ 请求 MSVCR110.dll 发布 .exe

    我正在尝试使用 vs2012 Express 编译发布可执行文件 但是 每当我尝试在其他计算机上运行 exe 时 我都会收到一条警告 提示我需要 msvcr110 dll 我可以简单地复制 dll 但我正在寻找更长期的解决方案 在我尝试隔离
  • 为什么我们不能用私有扩展类方法重写基类方法?

    class One void foo class Two extends One private void foo more code here 为什么上面的代码片段是错误的 我将尝试结合其他答案的想法来得出一个答案 首先 让我们看一下代码
  • iTextSharp 设置默认字体大小

    我正在使用 iTextSharp 创建一个新的 pdf 文件 该 pdf 文件将包含一个标题和一个 pdf 表 生成的 pdf 文件的文件大小应尽可能小 因此我使用默认字体 Helvetica 12pt 有没有办法将默认字体大小从 12pt
  • 查找渲染/可见文本的高度

    I know how to get this height of a font 通过将文本放置在 div 中并获取 div 的偏移高度 But I would like to get this actual height Which wil
  • 比较第 n 行和第 n+1 行,如果它位于第 n 行的范围内,则打印 n+1 行 USNG ORACLE QUERY

    我有一张像这样的桌子 ID name Start no End no 1 a 2 123 2 b 3 65 3 c 191 199 4 d 201 225 5 e 220 223 6 f 221 224 I tried SELECT FRO
  • 设置自定义会话 ID java (apache tomcat)

    我想为我的 Web 应用程序设置自定义会话 ID 我有生成会话 ID 的算法 我的 Web 应用程序应该使用该算法来生成会话 ID 请建议我如何在 tomcat 中将我的算法设置为会话 id 生成 会话管理器 gt 我尝试了这个 但它提供了
  • 将“完成”按钮添加到 iPhone 上的唯一数字键盘

    我使用下面这个方便的代码成功地将完成按钮添加到我的数字键盘 但我有一个启动 MFMailComposeViewController 的电子邮件按钮 如何确保完成按钮不会出现在电子邮件键盘上 UIViewController NumPadRe
  • Android 上的面部表情识别 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我的第一个 Android 应用程序将涉及前置摄像头和面部表情识别 我做了很多研究 但找不到任何涉及面部表情识别的 Android 库 我基本上想测
  • 将图像添加到 ASP.net core

    我想添加图像作为模型类的一部分并将其显示在索引视图上 我在将图像分类为 byte 或 iFormFile 时遇到问题 这就是我想要实现的目标 创建一个页面来插入员工列表 在索引页面中 能够列出员工并查看他们的图像 这是模型 员工 cs us
  • 从一个片段调用另一个片段

    我很难解释事情 我会尽力做到最好 我试图使用 Tabhost 并在每个选项卡中显示列表片段 ListFragments in tabview 这就是它的样子 On click on the list element another frag
  • “let”命令不打印结果

    我正在学习 shell 编程 我检查了 let 命令 我试图在 echo 中使用它 就像我们使用 expr 一样 但我不明白我怎么可能做到这一点 num1 30 num2 20 echo Sum is let num1 num2 let e
  • 从 Java 调用 C# 代码?

    有没有人有一个好的解决方案可以将一些 C 代码集成到 java 应用程序中 代码很小 所以我可以用java重写 但如果可能的话我宁愿重用代码 不要重复自己等等 另外 我知道我可以将 C 公开为 Web 服务或其他任何内容 但它有一些安全 加
  • 无法在 Windows Server 中通过 .bat 文件运行 R 脚本

    我正在尝试通过 bat 文件运行 R 脚本 当我自己逐行运行命令时 它可以工作 但是当我尝试运行 bat 文件时 它不起作用 这是 bat 文件 cd C Program Files R R 3 1 2 bin R CMD BATCH C
  • Spotfire - 自定义小计

    我想根据条件计算 Spotfire 交叉表中的小计并为小计行着色 如下表所示 我想按商店添加除 西瓜 之外的所有行的小计 但在表中显示 西瓜 销售行 请告诉我这是否可行 下面的例子 Cross Table 感谢您的帮助 简短的回答是否定的
  • 如何通过d3js实现svg图案?

    我想通过 d3js 添加一个图案到我的 svg 地图的一些多边形 即有争议的区域 我已经很好地添加了这些地理形状 我还看到原生 svg 中可以使用 svg 图案
  • 我们如何获取 Outlook 收件人的实际电子邮件地址?

    希望对今天困扰我的这个问题能得到一点帮助 Outlook MailItem mail Outlook MailItem Item Outlook Recipients recips mail Recipients string toFiel
  • 创建文件夹时授予完全访问权限

    我有一种情况 我有一个 Windows 应用程序 如果服务器不存在 它会在服务器上创建文件夹 然后我会将文件复制到其中 但目前我在指定路径上被拒绝访问 这就是我所拥有的 If Not System IO Directory Exists s
  • 通过套接字发送大文件

    我有一个视频文件 想通过套接字发送它 视频已发送到客户端 但视频无法播放 并且收到的视频大小为 2 KB 准确地说 视频大小为 43 MB 问题是什么 Server import socket try soc socket socket p
  • 如何模拟修改私有变量的私有方法?

    如何模拟修改私有变量的私有方法 class SomeClass private int one private int second public SomeClass public int calculateSomething comple