您好我试图为受保护的插槽实施单元测试 在测试函数中,我创建了一个类的对象,并使用该对象调用该类的受保护 但它给了我一个错误如下:
/home/puneet/puneet/office/alkimia/payment/backend/backend.h:在成员函数'void BackendTest :: test_initialization()'中: /home/puneet/puneet/office/alkimia/payment/backend/backend.h:70:错误:'void Backend :: initializeUsers(const QStringList&)'受保护
答案 0 :(得分:4)
我通常用于测试的方法是使用以下定义:
如果您正在测试的类的头文件是“myclass.h”,您在测试文件中#include它,请执行:
#define protected public
#include "myclass.h"
#undef protected
这告诉编译器将受保护的方法视为公共方法。您可以为私人功能执行相同操作。