c++ - 如何在 Visual Studio 中的 CppUnitTestFramework (C++) 中设置超时?

标签 c++ testing time microsoft-cpp-unit-test

如何在使用 CppUnitTestFramework 的 Microsoft 单元测试中为 C++ 中的测试方法添加超时?我在网上找到的大多数解决方案都是针对 CSharp 项目的,我可以在其中添加诸如 [TEST_METHOD,TIME_OUT(80)] 之类的行,但是在测试 C++ (VC++) 代码时这些行不起作用

我试过下面的代码

#include "stdafx.h"
#include "CppUnitTest.h"
#include "../src/factorial_dp.cpp"
#include "stdio.h"
using namespace Microsoft::VisualStudio::CppUnitTestFramework;

namespace spec
{
    TEST_CLASS(factorial_dpSpec)
    {
    public:

        //Add Timout for these methods
        TEST_METHOD(Smallnumber)
        {
            int result = fact(5);
            Assert::AreEqual(120, result, L"5 fact should be 120", LINE_INFO());
        }

    };
}

最佳答案

使用托管测试类。 并且您可以在其中保留超时。

    [TestMethod(), Timeout(3000)]
    void functionName()
    {
    //
    }

关于c++ - 如何在 Visual Studio 中的 CppUnitTestFramework (C++) 中设置超时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34647892/

相关文章:

c++ - 动态多态内存容器 - 返回值不正确

c++ - 重载 '=' 以使 '+' 与矩阵一起使用

reactjs - 用于测试的 stub /模拟 propTypes

java - 在 Java 中存储简单的小时/分钟信息 - 最佳实践问题

c++ - 使用 gcc 编译基于 DocxFactory 的应用程序

c++ - 结构指针的优先级队列

php - 自动化测试框架?

由于 Jasmine 中 html 中的自定义元素导致的 Angular 2 组件测试错误

mysql - mysql中如何描述区间数据类型?

linux 时间命令产生的实际小于用户