Кто-нибудь захочет объяснить CHESS программисту, плохо знакомому с модульным тестированием? - PullRequest
2 голосов
/ 02 апреля 2009

Я только недавно начал использовать модульное тестирование, и я понимаю, что некоторые из основных проблем, которые не охватывает модульное тестирование, - это параллелизм и сложные межобъектные взаимодействия (которые в любом случае большинство современных полностью ООП-языков полностью исключают). Это мое понимание что CHESS в некоторой степени решает проблему параллелизма? Может ли кто-нибудь подсказать мне, что такое шахматы, как они работают и каковы недостатки?

1 Ответ

3 голосов
/ 02 апреля 2009

Основная идея заключается в том, что условия гонки (когда результат зависит от того, какой из двух или более процессов «попадет первым» для некоторого определения «там») имеют только конечное число возможных упорядочений.

Таким образом, если вы можете контролировать заказы, вы можете систематически проверять их.

Если ваш код работает должным образом для всех возможных заказов, он проходит. Если нет, то это не сработает.

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