如何在使用 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/

10-13 02:18