getDeclaredFields用于测试的抽象类

时间:2014-04-01 15:07:46

标签: java private abstract protected

有人可以向我解释如何在单元测试时获得抽象类的私有字段? 它可以分为两个:

  1. 如何创建类变量。
  2. 如何从中获取私有字段以进行测试。
  3. 例如:

    public abstract class pclass{
        private int toCheck = 0;
    
        public void change(){
            toCheck++;
        }
    }
    

    如何检查更改方法(当然对于更复杂的方法有用...)?

1 个答案:

答案 0 :(得分:0)

对于void方法,您通常需要测试副作用。在您的情况下,必须有另一种方法,使您能够访问该副作用(否则change方法是无用的)。这就是你需要测试的东西。

如果你有一个现实生活中的例子,它将有助于分享它。

另一种方法是将字段包设为私有并标记它 - 如果你使用guava:

@VisibleForTesting int toCheck = 0;