小编Kum*_*tix的帖子

注释使私有方法仅对测试类公开

谁有针对这一共同需求的解决方案.

我的应用程序中有一个类.

一些方法是公共的,因为它们是api的一部分,有些是私有的,因为它们用于内部使用,使内部流程更具可读性

现在,我想写一个单元测试,或者更像是集成测试,它将位于不同的包中,允许调用此方法,但是,我希望不允许正常调用此方法如果你试图从应用程序本身的类中调用它

所以,我在想这样的事情

public class MyClass {

   public void somePublicMethod() {
    ....
   }

   @PublicForTests
   private void somePrivateMethod() {
    ....
   }
}
Run Code Online (Sandbox Code Playgroud)

上面的注释将私有方法标记为"公共测试",这意味着,对于任何在test ...包下的类,将允许编译和运行时,而编译和\或运行时将对任何类失败不在测试包下.

有什么想法吗?有这样的注释吗?有一个更好的方法吗?

似乎你写的单元测试越多,你的更多信息就会破坏你的封装......

java junit unit-testing annotations

83
推荐指数
5
解决办法
11万
查看次数

标签 统计

annotations ×1

java ×1

junit ×1

unit-testing ×1