例如:
// 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内核数量有限.即使您的进程/进程组作为具有非常高优先级的超级用户运行, *** 作系统也可以在某种程度上随意决定让您的线程进入休眠状态. 总结以上是内存溢出为你收集整理的单元/集成测试时间敏感的C代码全部内容,希望文章能够帮你解决单元/集成测试时间敏感的C代码所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)