C++ 在库项目中使用QtTest

C++ 在库项目中使用QtTest,c++,qt,qttest,C++,Qt,Qttest,我对如何在库项目(Windows)中使用QtTest框架感到困惑。我创建了一个库项目并添加了一些测试,但在运行测试时遇到了很多问题。解决我的问题的关键是设置: TEMPLATE = app 然而,我正在做一个解放。。。此外,应用程序生成的是exe,而不是dll。我真的希望,在测试和更改为“lib”以实际构建库时,不必手动将项目文件更改为“app”。这似乎是徒劳的 那么,库项目中的QtTests是怎么回事 谢谢任何测试框架都不能在库中使用!您应该创建使用测试框架和测试库编写测试的应用程序。库和测

我对如何在库项目(Windows)中使用QtTest框架感到困惑。我创建了一个库项目并添加了一些测试,但在运行测试时遇到了很多问题。解决我的问题的关键是设置:

TEMPLATE = app
然而,我正在做一个解放。。。此外,应用程序生成的是exe,而不是dll。我真的希望,在测试和更改为“lib”以实际构建库时,不必手动将项目文件更改为“app”。这似乎是徒劳的

那么,库项目中的QtTests是怎么回事


谢谢

任何测试框架都不能在库中使用!您应该创建使用测试框架和测试库编写测试的应用程序。库和测试框架之间不应该有任何依赖关系。所以基本上你们的问题标题是无效的。好吧,但我该如何测试未公开的库内部构件呢?我假设单元测试是关于测试单元,小部分代码。有些小部件不打算公开,而是保存在库中。@Zavulon,您的策略应该是使用公共接口测试私有内容。您应该测试所需的功能,而不是实现细节,因此访问库的私有部分是非常糟糕的测试实践。如果您的测试访问私有细节,则很难重构代码(因为测试在实现中需要一些特定的细节)。在生产代码之后编写测试时,这是常见的问题/诱惑。