gpt4 book ai didi

c++ - 单元/集成测试时间敏感的 C++ 代码

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:19:46 24 4
gpt4 key购买 nike

有没有一种方法可以创建单元/集成测试,不仅可以测试正确性,还可以测试步骤是否在特定时间段内完成?

例如:

// MyTestSuite.h
#include <cxxtest/TestSuite.h>
class MyTestSuite : public CxxTest::TestSuite
{
public:
void testTimeCriticalFunction(void)
{
TS_ASSERT_EQUALS(timeCriticalFunction(), correctValue);

// timeCriticalFunction() must correctly return within 5 milliseconds
TS_ASSERT_DID_COMPLETE_WITHIN_MILLISECONDS(timeCriticalFunction(), 5);
}
}

虽然该示例只有一个函数,但如果有一种方法可以将它们链接在一起以在更长的序列上执行集成测试,这样如果每个步骤都正确并在指定时间内完成,测试将返回 true,那将是理想的以及整个组。

首选亚毫秒精度,但典型的时间要求在 5-15 毫秒之间。

更新 1: 目标平台是 UNIX (Mac OS X)。精确的时间要求是由于问题域(通信)。

更新 2:鉴于评论,假设我专注于集成测试。

最佳答案

一般来说,将特定的时序要求(例如小粒度的要求)放在一起并不是一个好主意。由于您使用的是 OSX,因此您最多拥有一个软实时系统。 (如果您有硬实时要求,通用操作系统(如 OSX)不是答案。)可用的 CPU/CPU 内核数量有限。操作系统可以任意决定让您的线程进入休眠状态,即使您的进程/进程组以 super 用户身份运行且具有非常高的优先级。

关于c++ - 单元/集成测试时间敏感的 C++ 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6665554/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com