【问题标题】:@VisibleForTesting does not work as expected@VisibleForTesting 无法按预期工作
【发布时间】:2016-01-13 08:49:25
【问题描述】:

我想为 android 单元测试尝试 @VisibleForTesting 注释 - 我有一个带有一个注释方法的类:

public class Foo {

  public void bar() {
  }

  @VisibleForTesting
  private void baz() {
  }
}

但在单元测试中我仍然只能看到 bar - 而不是 baz

【问题讨论】:

    标签: android unit-testing testing annotations


    【解决方案1】:

    这个注解的重点是它的约定,可以用于静态代码分析。

    将方法的可见性更改为package。在这种情况下,您的方法降低了测试的可见性,并且仅对同一包中的测试可见。

    public class Foo {
    
      public void bar() {
      }
    
      @VisibleForTesting
      /* package */ void baz() {
      }
    }
    

    【讨论】:

    • 将测试类与原始类放在同一个包中有助于为包公共方法添加单元测试。谢谢
    • 如果已经在同一个包中,@VisibleForTesting 是必要的吗?
    猜你喜欢
    • 2013-12-23
    • 2014-12-09
    • 2020-09-21
    • 2011-08-17
    • 2012-04-29
    • 2021-08-12
    • 2019-02-04
    • 2014-12-02
    • 2013-12-02
    相关资源
    最近更新 更多