- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
根据我的理解,这些注释用于带有访问修饰符的方法,该修饰符允许从另一个类调用方法以进行单元测试
@VisibleForTesting - com.google.common.annotations.VisibleForTesting
@TestOnly - org.jetbrains.annotations.TestOnly
最佳答案
第一个很大的区别显然是由不同的项目提供的。
@VisibleForTesting
是 Google Guava libraries 的一部分并且 @TestOnly
是 JetBrains annotations 的一部分其中与 IntelliJ IDEA 的制造商 JetBrains 等相关联。
比较两者的 JavaDoc 表明它们服务于基本相同的目标:@TestOnly
和 @VisibleForTesting
.
请注意,两个 注释的文档都包含一条有效警告您注释本身不会阻止生产代码调用注释方法的注释。 JetBrains 建议使用支持该注释的静态检查工具(其中一个可能内置于 IntelliJ IDEA 中),而 Guava 建议使用带有明确禁止 API 列表的外部检查工具。
tl;dr 它们实际上表示同一件事。使用哪一个的决定主要取决于您使用哪些工具来对它们进行操作以及它们支持哪些工具。已经使用其中一个包中的其他注释或类是选择一个而不是另一个的另一个原因。
关于java - 单元测试中@TestOnly和@VisibleForTesting有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67207970/
我知道 @VisibleForTesting 是不可取的,因为它只是为了测试目的而更改了类的接口(interface)。理想情况下,我们应该测试我们实际使用的接口(interface)。但是什么是一个
我知道存在注释 @VisibleForTesting。我想使用它,但我不知道如何导入它。我该怎么做? 最佳答案 注解在“guava”库中可用,因此对于 Maven,您可以在 pom.xml 中使用它:
我想为 android 单元测试尝试 @VisibleForTesting 注释 - 我有一个带有一个注释方法的类: public class Foo { public void bar() {
对于 Android 应用程序,我尝试根据 https://developer.android.com/reference/android/support/annotation/VisibleForT
我在 Kotlin 类的公共(public)属性上添加了 @VisibleForTesting,然后在不应允许的地方使用它,但我的 lint 检查成功通过。我应该避免在 Kotlin 中使用 @Vis
我正在项目上的纯 java 文件上运行纯 JUnit4 java 测试,但我找不到使用 @VisibleForTesting 的方法显然,无需手动公开该内容。 例如: @VisibleForTesti
假设恰好有一个现有的长私有(private)方法(其中一个在开发过程的这个阶段不允许重构为更小的部分)但我真的想写几个回归-保护单元测试,只是现在。 我刚刚听说过这个 @VisibleForTesti
我的目的是对私有(private)方法进行单元测试,我了解如何导入 @VisibleForTesting 并将其用于私有(private)方法。我进行了大量搜索,但无法找到演示此功能的完整示例。 例如
Duplicate class com.google.android.gms.common.util.VisibleForTesting found in modules classes.jar (c
您好,我遇到以下错误。我进行了很多搜索,但没有一个解决方案适合我。 Caused by: com.android.builder.multidex.D8MainDexList$MainDexListE
这个问题在这里已经有了答案: Compilation failed to complete:Program type already present: com.google.android.gms.
我是一名优秀的程序员,十分优秀!