Извините за краткий ответ выше, iPad публикует сообщения всякий раз, когда я нажимаю клавишу возврата при редактировании сообщения.
dUnit предназначен для выполнения модульного тестирования, и вы НЕ пытаетесь выполнить модульное тестирование.
Тест не является модульным тестом, если:
- Говорит с базой данных
- Он общается по сети
- Это касается файловой системы
- Он не может работать одновременно с другими вашими юнит-тестами
- Вы должны выполнить специальные действия в своей среде (например, редактировать файлы конфигурации), чтобы запустить ее.
- Он не может работать изолированно
Если вы следуете принципам SOLID (особенно принципу единой ответственности), использование dUnit для проверки вашего класса (без тестирования логики, связанной с Midas / DataSnap) должно быть достаточно простым. И действительно, вам не нужно проверять логику Midas / DataSnap.
Но существуют способы проведения интеграционных и поведенческих тестов в приложениях Delphi.
Лично я бы не стал использовать TestComplete, потому что он плохо интегрируется с каким-либо CI-сервером, а тесты хранятся в проприетарном двоичном формате (что затрудняет слияние различий или сохранение изменений в любой системе контроля версий).
Вы можете попробовать dSpec , но я не уверен, что Джоди Докинз его поддерживает.
Я использовал язык сценариев AutoIt BASIC непосредственно в некоторых проектах, а также использовал его сборку .NET для управления приложением Delphi с использованием NUnit и C # в другом. Хотя решение NUnit / C # было не идеальным, оно было более элегантным, чем все, что я видел для выполнения функциональных / поведенческих тестов приложений Delphi. Однако для его настройки потребовалось некоторое усилие.