Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/138.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在单元测试中伪造Linux系统时间_C++_Linux_Unit Testing_Datetime - Fatal编程技术网

C++ 在单元测试中伪造Linux系统时间

C++ 在单元测试中伪造Linux系统时间,c++,linux,unit-testing,datetime,C++,Linux,Unit Testing,Datetime,我正在单元测试一个使用当前时间的函数。因此,我正在寻找一种伪造系统时间的方法。我知道有些库会改变系统时间,但我正在寻找任何侵入性较小、简单的小型单元测试替代方案 是否存在类似的情况 TEST_T(MyUnitTest, example_test){ startFakeSystemDate("2017-3-13T18:12:49Z"); //perform time based unit test endFakeSystemDate(); } 解决这个问题的方法不是

我正在单元测试一个使用当前时间的函数。因此,我正在寻找一种伪造系统时间的方法。我知道有些库会改变系统时间,但我正在寻找任何侵入性较小、简单的小型单元测试替代方案

是否存在类似的情况

TEST_T(MyUnitTest, example_test){

    startFakeSystemDate("2017-3-13T18:12:49Z");

    //perform time based unit test

    endFakeSystemDate();
}

解决这个问题的方法不是编写一个获取系统时间的函数,然后在测试中模拟该函数吗?我如何在测试中模拟获取系统时间函数?这是软件。这是一个C文件,它生成了一个共享对象,其中包含一个可选的
time
gettimeofday
(以及其他)和一个shell脚本,该脚本使用LD_PRELOAD来运行可执行文件和该共享对象,然后在测试中模拟该函数?如何在测试中模拟get system time函数?这是软件。它是一个C文件,用于生成一个共享对象,其中包含一个可选的
time
gettimeofday
(以及其他)和一个shell脚本,该脚本使用LD_PRELOAD来运行可执行文件和该共享对象。