Как обнаружить, когда переменная изменяет значение

Жесткий! В моих (C ++) модульных тестах я разбил это на несколько категорий в соответствии с используемым шаблоном параллелизма:

  1. Единичные тесты для классов, которые работают в одном потоке и не являются
  2. Модульные тесты для Объекты монитора (те, которые выполняют синхронизированные методы в потоке управления вызывающих), которые выставляют синхронизированный публичный API - - создавать экземпляры нескольких потоков, реализующих API. Постройте сценарии, в которых выполняются внутренние условия пассивного объекта. Включите один более длительный тест, который в основном ударяет из него из нескольких потоков в течение длительного периода времени.
  3. Единичные тесты для Активных объектов (те, которые инкапсулируют собственный поток или потоки управления) - аналогично # 2, приведенному выше, с вариации в зависимости от дизайна класса. Открытый API может блокировать или не блокировать, вызывающие могут получать фьючерсы, данные могут поступать в очереди или должны быть удалены. Здесь возможно много комбинаций; белый ящик.

В стороне:

Во внутреннем обучении разработчиков, которое я делаю, я преподаю Столпы параллелизма и эти два шаблона в качестве основной основы для размышлений и разложения проблем параллелизма. Там, очевидно, более продвинутые концепции, но я обнаружил, что этот набор основ помогает инженерам выходить из супа. Это также приводит к коду, который более подвержен тестированию, как описано выше.

75
задан tatsuhirosatou 22 February 2009 в 18:06
поделиться

1 ответ

Для переменной класса или переменной экземпляра

  1. щелкают правой кнопкой по переменной в представлении схемы
  2. , выбор "Переключает Контрольную точку"
  3. Затем в представлении breapkoints, можно щелкнуть правой кнопкой по получающейся записи
  4. избранные "свойства точек прерывания"
  5. отмена выбора "Доступ к полю".
117
ответ дан william.eyidi 7 November 2019 в 07:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: