1

我已经写了语法:mock().expectNoCall("productionCode")正如 Cpputest.org 页面所说。但是编译器说mocksupport 类不支持这种类型的顺序。

test_RFID_Drv.c:322:9: error: ‘class MockSupport’ has no member named ‘expectNoCall’mock().expectNoCall("HAL_AS393x_ReadRegisters");

如何使用?我必须在标题中包含一些文件吗?目前我有那些用于嘲笑:

/*! \include <CppUTest/CommandLineTestRunner.h> */
#include <CppUTest/CommandLineTestRunner.h>
/*! \include <CppUTest/TestHarness.h> */
#include <CppUTest/TestHarness.h> 
/*! \include <CppUTestExt/MockSupport.h> */
#include <CppUTestExt/MockSupport.h>

问题是我想忽略一个具体的系统调用。我不想测试它。

4

1 回答 1

1

Eugenia,您在“.c”文件中,mock().expectXX是“.cpp”文件的语法。

是 .cpp 文件中没有期望的工作示例。

如果您需要使用 .c 文件中的模拟,请包含“MockSupport_c.h”并确保使用正确的 c 语法,请阅读此处的标题。

如果您不想使用“_c”标头的语法,请将您的模拟文件设置为 .cpp 并将export "C"链接器修饰符添加到您的模拟函数中,例如我在此处所做的。

于 2016-12-23T12:53:14.667 回答