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

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

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

【讨论】:

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

PHP单元测试,带模拟的受保护方法

如何在 C++ 中对受保护的方法进行单元测试?

我应该对私有/受保护方法进行单元测试吗

无法在对受保护方法进行单元测试的适当方法之间做出决定

是否可以为具有 1)返回类型 void、2)访问说明符私有或受保护的方法编写单元测试?

使用 Laravel Passport 范围进行单元测试