当前位置: 首页 > 面试题库 >

如何将VisibleForTesting用于纯JUnit测试

羊渝
2023-03-14
问题内容

我正在对项目上的纯Java文件运行纯JUnit4
Java测试,但是如果不手动将其公开,我将找不到一种清晰使用@VisibleForTesting的方法。

例如:

@VisibleForTesting
public Address getAddress() {
  return mAddress;
}

方法必须是public使其对测试“公开”,但是在那种情况下,注释没有意义吗?如果批注什么也不做,为什么不只使用注释呢?


问题答案:

标签本身可以帮助短绒棉子识别不需要的访问。

为了降低使用风险直接,添加此方法是internal科特林protectedJava的
替代public,并与仅是在同一个包就能访问该方法测试或类。

Java:

@VisibleForTesting
protected Address address() {
  return mAddress;
}

科特林:

@VisibleForTesting
internal fun address(): Address {
  return address;
}


 类似资料:
  • 问题内容: 我正在尝试为自定义方面编写Junit测试。这是Aspect类代码片段: 因此,只要关节点与切入点匹配,上述方面就会截获。它的工作正常。 但是我的问题是如何对该类进行单元测试。我有以下Junit测试: 因此,我在Junit中匹配切入点时被其拦截。但是,当调用该联合点时,我应该如何确定(可能是通过断言)我正在拦截? 我不能断言返回值,因为它除了执行联合点外没有其他特殊之处。因此,无论是按方

  • 问题内容: 我在一个项目中工作,我们必须为我们所有的简单bean(POJO)创建单元测试。如果POJO由getter和setter组成,那么是否有必要为其创建单元测试?假设POJO大约100%的时间都可以正常工作吗? 问题答案: TDD中的规则是“测试所有可能破坏的东西” 吸气剂可以破坏吗?通常不会,因此我不必费心测试。此外,我的代码 做 测试肯定会调用吸气所以它 会 被测试。 我个人的规则是,我

  • 问题内容: 我需要为设计欠佳的旧应用程序编写JUnit测试,并且正在向标准输出中写入许多错误消息。当方法正确运行时,它将返回XML响应: 但是,当XML格式错误或无法理解请求时,它将返回并将某些内容写入标准输出。 有什么方法可以在JUnit中声明控制台输出?要捕获类似的情况: 问题答案: 使用和很简单: 样本测试案例: 我使用此代码测试了命令行选项(断言-version输出版本字符串等)

  • DAO类的相关方面如下 我的src/test/resources/application.properties文件如下所示 在Eclipse中作为JUnit测试运行的跟踪 应用程序结构 -SRC ----application.java ----COM ----Hitstpa ----application.properties --测试 ---爪哇

  • 问题内容: 我已经在groovy中编写了几个XMLUnit测试(适合JUnit框架),并且按照groovy doco 在命令行上轻松地执行了它们,但是我不太明白我还需要做什么。产生由詹金斯/哈德森(或其他)需要的XML输出,以显示合格/不合格结果(象此)和误差等(等的详细报告此)。(向图片所有者致歉) 目前,我的启动脚本是这样的: 这将产生如下内容: 如何使它创建适合Jenkins / Hudso

  • 有没有办法集成测试我的JUnit Jupiter扩展?当然,我可以测试扩展用法的一个很好的例子,但我想测试如下内容: 它没有通过预期的测试吗? 测试结束时写的报告是否正确? 对此有内置的支持吗?