Для Java, главы 12 выезда JCIP. Существуют некоторые конкретные примеры записи детерминированных, многопоточных модульных тестов, чтобы, по крайней мере, протестировать правильность и инварианты параллельного кода.
"Доказательство" потокобезопасности с модульными тестами намного более рискованно. Я верю, что это лучше подается автоматизированным интеграционным тестированием на множестве платформ/конфигураций.
Учитывая, что инструмент кодовой подписи, необходимый для подписания приложения для выполнения на устройстве, является недокументировано и доступно только для OS X. Я думаю, что можно с уверенностью сказать, что вы действительно можете создать приложение для развертывания только на OS X.
Хотя технически возможно скомпилировать приложения под какой-либо другой ОС, с помощью симулятора или кода инструмент, у вас нет возможности протестировать их, поэтому вам все равно понадобится Mac, чтобы сделать это. Я полагаю, что можно было бы протестировать устройство с взломанным джейлбрейком, но я не хотел бы поставлять приложение, которое не было протестировано на стандартной прошивке ОС.
Семена ответа заложены в ваш вопрос. Со страницы проекта :
MonoTouch требует Mac и Apple iPhone SDK для тестирования на эмуляторе; И вам нужно будет быть Apple разработчик iPhone для развертывания на устройство.
Ни один из пунктов в ответе Майкла не имеет прямого отношения к вопросу Джима.
Находясь на платформе Windows, вы не сможете использовать эмулятор iPhone SDK, но не обязательно предотвратите развертывание на и тестирование на реальном iPhone / iPod Touch.
Насколько мне известно, вам не обязательно иметь оборудование Mac, чтобы зарегистрироваться в качестве разработчика iPhone. Вы должны быть разработчиком iPhone, чтобы использовать функциональные возможности тестового развертывания, которые поддерживает iPhone.
Я еще не пробовал MonoTouch, но так понимаю, как он работает. Когда вы компилируете с помощью MonoTouch, он выводит двоичный файл, готовый для запуска на устройстве iPhone / iPod Touch. Затем вы должны использовать iTunes, чтобы перетащить двоичный файл на панель приложения и синхронизировать устройство.
Это может дать некоторую «теневую», но интересную информацию для тех, у кого уже есть ПК с Windows.