0
我正在为抽象类创建单元测试代码。这里是该类的片段:无法访问抽象类中受保护的构造函数
public abstract class Component
{
private eVtCompId mComponentId;
private eLayer mLayerId;
private IF_SystemMessageHandler mLogger;
protected Component(eVtCompId inComponentId, eLayer inLayerId, IF_SystemMessageHandler inMessageHandler)
{
mLayerId = inLayerId;
mComponentId = inComponentId;
mLogger = inMessageHandler;
}
我在构造函数的参数中有两个枚举后跟一个接口。
这里是我的单元测试代码片段:
Component_Accessor target = new Component_Accessor(eVtCompId.MasterSWCommDevice, eLayer.Foundation, new MySysMsgHandler());
我不断收到错误消息“Component_Accessor不包含一个构造函数‘3’的论点”。我似乎无法理解为什么会发生这种情况。当我删除abstract
关键字时,单元测试工作正常。
我不明白为什么单元测试似乎无法“看到”构造函数,如果该类设置为abstract
。任何人都可以解释为什么会发生?提前致谢。
'Component'和'Component_Accessor'是定义不同的类型。他们如何互相引用? – horgh