2016-12-23 1 views
0

Я написал синтаксис: mock().expectNoCall("productionCode") на странице Cpputest.org. Но компилятор говорит , что класс mocksupport не поддерживает этот тип заказа.Cpputest: как скомпилировать и использовать expectNoCall?

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> 

Дело в том, что я хочу, чтобы игнорировать один системный вызов для бетона. Я не хочу его проверять.

+0

Где вы читаете документы? Я могу видеть 'mock(). ExpectNCalls (5," productionCode ");' и '' mock(). IgnoreOtherCalls(); 'но не' ожидатьNoCall'. – doctorlove

+0

https://cpputest.github.io/mocking_manual.html в последнем последнем абзаце. С титром: «Разное», а затем, под небольшим объяснением (одна строка или две aprox). –

+0

Может быть, ожидать, что NoCall для этого не сделано. Но я хотел бы проигнорировать один вызов, размещенный между другими, которые я хочу вызвать при одном и том же тесте. Если я использую ignoreothercalls, я не понял, будет ли вызываться остальные вызовы, следующие за этим. Мне нужно, чтобы остальные, после игнорирования вызова, будут вызваны. Или, по крайней мере, найти способ остановить эффект ignoreothercalls до конца тестового примера. –

ответ

1

Eugenia, Вы находитесь в .c 'файле, mock().expectXX является синтаксисом для файлов .cpp.

This является рабочим примером ожиданий в .cpp-файле.

Если вам нужно использовать mock из .c файлов, включите «MockSupport_c.h» и убедитесь, что вы используете правильный синтаксис c, прочитайте заголовок here.

Если вы не хотите использовать синтаксис заголовка «_c», сделайте файл mocks .cpp и добавьте модификатор компоновщика export "C" к вашей издеваемой функции, например, я сделал here.

+0

Мой тестовый файл .c, и единственная инструкция, которая ему не нравится, ожидаласьNocall. Остальная часть mock(). X работает. –