关于我关于测试抽象类的其他线程(可以找到here),我现在的问题是访问抽象类的私有变量。这与使用Private Accessor
有关,但正如我在另一个线程中所陈述的那样,我无法在单元测试的相同文件内创建私有访问器。如何访问抽象类的私有成员
下面是我在谈论私有变量:
public abstract class Component {
private eVtCompId mComponentId; //enum
private eLayer mLayerId; //enum
private IF_SystemMessageHandler mLogger; //interface
我需要知道如何访问这些,因为我创建一个单元测试,包括让这些特殊变量中的值。
您不应该通过单元测试来测试对象的状态。单元测试的唯一可接受的交互方式是调用方法。 – zerkms 2013-03-18 02:38:55
类的内部实现不应该是单元测试的主题。从理论上讲,这个班级“工作”的方式可以改变,不应该导致单元测试失败,只有班级的公共消费结果/属性应该保持一致。 – Sepster 2013-03-18 02:40:02
现在你打算违反面向对象的原则。如果您确实想访问这些变量,请创建一个受保护的函数或一个返回这些变量值并在派生类中访问它的属性。 – PSL 2013-03-18 02:45:43