首页 > 解决方案 > Qt:使用 Visual Studio 进行单元测试

问题描述

我有一个 Visual Studio 项目,想为它写一些单元测试。我尝试通过使用“本机单元测试项目”来做到这一点。问题是,当我在测试中使用 QString 时,测试失败并显示以下消息:

消息:无法设置执行上下文来运行测试

关于如何使用 Qt 编写单元测试的任何建议?

#include "stdafx.h"
#include "CppUnitTest.h"

#include <QtCore/QCoreApplication>

using namespace Microsoft::VisualStudio::CppUnitTestFramework;

namespace Test
{       
    TEST_CLASS(UnitTest1)
    {
    public:     
        TEST_METHOD(TestMethod1)
        {
            QString a = "Test";
            Assert::IsTrue(true);
        }

    };
}

标签: c++visual-studioqt

解决方案


我已经尝试过您的上述示例,并且能够编译单元测试。这些是我除了复制您的代码之外所做的以下更改。

  • 检查您的 QT 是使用 32 位还是 64 位编译器构建的。
  • 您需要在解决方案平台中进行相同设置。
  • 您需要在项目属性中添加包含目录路径和 lib 文件路径(Qt5Cored.lib(用于调试)/Qt5Core.lib(用于发布))。
  • 要运行单元测试,您需要将 Qt5Cored.dll / Qt5Core.dll文件复制到生成单元测试 dll 文件的文件夹中(编译后)。

PS:-我使用的是VS 2015,但这没关系。


推荐阅读