Используя Google Mock, как мне указать weals_call с возвращаемым значением n раз, а затем другое значение n+1? < /p>
Единственный способ пройти свой тест, если я вручную укажу каждую итерацию, например, < /p>
EXPECT_CALL(mock, Read(address)).Times(5)
.WillOnce(Return(0))
.WillOnce(Return(0))
.WillOnce(Return(0))
.WillOnce(Return(0))
.WillOnce(Return(1));
< /code>
test description < /strong> < /p>
В тестируемом коде используется слово статуса, чтобы определить, должны ли данные для чтения цикла. Ожидается, что он должен установить ожидание вернуть 1 из макетного метода read () n раз, а при nth цикле return 0, чтобы указать больше данных. < /p>
К сожалению, рассматриваемый код находится на отдельной машине, но вот репрезентативный пример. < /p>
const unsigned int statusAddress = 0;
const unsigned int dataAddress = 1;
const unsigned int maxData = 8;
unsigned int dataBuffer[maxData] = {0};
int readIndex = 0;
// Check if data is available (read returns 1).
unsigned int dataIsAvailable = Read(statusAddress);
// Keep reading data until no more is available or the buffer is full.
while ((dataIsAvailable == 1) && (readIndex < maxData))
{
// Read data word.
dataBuffer[readIndex++] = Read(dataAddress);
// Read status to determine if more data is available.
dataIsAvailable = Read(statusAddress);
}
< /code>
Метод считывания высмеивается. < /p>
Если я добавлю ожидания в порядке, используется последнее weal_call (я предполагаю, что Willonce перезаписывается в коде Google). Очевидно, что я неправильно понимаю, как упорядочено несколько ожиданий_каллов. < /P>
EXPECT_CALL(mock, Read(address)).Times(4).WillRepeatedly(Return(1));
EXPECT_CALL(mock, Read(address)).Times(1).WillOnce(Return(0));
< /code>
Expected: to be called 4 times
Actual: never called - unsatisfied and active
< /code>
As there is no method...
WillN(Return(1), 4)
< /code>
... I presume there is a less fixed way of structuring an EXPECT_CALL for more complex and/or longer sequences of data?
Подробнее здесь: https://stackoverflow.com/questions/559 ... xit-a-loop
Google Mock - Как вернуть другое значение, используя weals_call, чтобы выйти из цикла ⇐ C++
Программы на C++. Форум разработчиков
1752448055
Anonymous
Используя Google Mock, как мне указать weals_call с возвращаемым значением n раз, а затем другое значение n+1? < /p>
Единственный способ пройти свой тест, если я вручную укажу каждую итерацию, например, < /p>
EXPECT_CALL(mock, Read(address)).Times(5)
.WillOnce(Return(0))
.WillOnce(Return(0))
.WillOnce(Return(0))
.WillOnce(Return(0))
.WillOnce(Return(1));
< /code>
test description < /strong> < /p>
В тестируемом коде используется слово статуса, чтобы определить, должны ли данные для чтения цикла. Ожидается, что он должен установить ожидание вернуть 1 из макетного метода read () n раз, а при nth цикле return 0, чтобы указать больше данных. < /p>
К сожалению, рассматриваемый код находится на отдельной машине, но вот репрезентативный пример. < /p>
const unsigned int statusAddress = 0;
const unsigned int dataAddress = 1;
const unsigned int maxData = 8;
unsigned int dataBuffer[maxData] = {0};
int readIndex = 0;
// Check if data is available (read returns 1).
unsigned int dataIsAvailable = Read(statusAddress);
// Keep reading data until no more is available or the buffer is full.
while ((dataIsAvailable == 1) && (readIndex < maxData))
{
// Read data word.
dataBuffer[readIndex++] = Read(dataAddress);
// Read status to determine if more data is available.
dataIsAvailable = Read(statusAddress);
}
< /code>
Метод считывания высмеивается. < /p>
Если я добавлю ожидания в порядке, используется последнее weal_call (я предполагаю, что Willonce перезаписывается в коде Google). Очевидно, что я неправильно понимаю, как упорядочено несколько ожиданий_каллов. < /P>
EXPECT_CALL(mock, Read(address)).Times(4).WillRepeatedly(Return(1));
EXPECT_CALL(mock, Read(address)).Times(1).WillOnce(Return(0));
< /code>
Expected: to be called 4 times
Actual: never called - unsatisfied and active
< /code>
As there is no method...
WillN(Return(1), 4)
< /code>
... I presume there is a less fixed way of structuring an EXPECT_CALL for more complex and/or longer sequences of data?
Подробнее здесь: [url]https://stackoverflow.com/questions/55942091/google-mock-how-do-i-return-a-different-value-using-expect-call-to-exit-a-loop[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия