受保护插槽的单元测试[关闭]

Posted

技术标签:

【中文标题】受保护插槽的单元测试[关闭]【英文标题】:Unit Testing of a protected slot [closed] 【发布时间】:2011-10-23 12:15:55 【问题描述】:

您好,我尝试对受保护的插槽进行单元测试 在测试函数中,我创建了一个类的对象,并使用该对象调用了该类的受保护对象 但它给了我一个错误如下:

/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&)' 受保护

【问题讨论】:

那是什么语言、框架等?我熟悉“单元测试”。 “受保护”是您使用的编程语言的名称吗? qt,我说的是受保护的插槽,其中插槽是响应特定信号而调用的函数 【参考方案1】:

我通常处理这个测试的方式是使用以下定义:

如果你正在测试的类的头文件是“myclass.h”,你在测试文件中#include它,这样做:

#define protected public
#include "myclass.h"
#undef protected

这告诉编译器将受保护的方法视为公共方法。您可以对私有函数执行相同的操作。

【讨论】:

以上是关于受保护插槽的单元测试[关闭]的主要内容,如果未能解决你的问题,请参考以下文章