Вопрос

Как настроить тестирование DUnit в проекте Midas/DataSnap в Delphi 2006?

Редактировать

Как настроить тест DUNIT в Tremotedatamodule, мастер проекта в Delphi 2006 не работает с Tremotedatamodule

Это было полезно?

Решение

Вопрос не совсем имеет смысл. Модульные тесты выполняются в отдельном проекте, а не на вашем сервере DataSnap. Как правило, тесты, которые подключаются к базе данных, являются интеграционными, а не модульными тестами. Что именно, что вы хотите проверить? Если это служебные методы, скажем, в TRemoteDataModule, вы должны выделить их в отдельный класс как методы класса и протестировать их там. Вам не нужно создавать экземпляр сервера приложений для выполнения модульных тестов.

Другие советы

Извините за краткий ответ выше, iPad публикует сообщения всякий раз, когда я нажимаю «Возврат» во время редактирования сообщения.

dUnit предназначен для выполнения модульного тестирования, и то, что вы пытаетесь сделать, НЕ является модульным тестированием.

Тест не является модульным тестом, если:

  • Он общается с базой данных
  • Он общается по сети
  • Это касается файловой системы
  • Он не может работать одновременно с любым другим модульным тестом.
  • Для его запуска вам придется выполнить особые действия в вашей среде (например, отредактировать файлы конфигурации).
  • Он не может работать изолированно

Если вы следуете принципам SOLID (особенно принципу единой ответственности), использование dUnit для тестирования вашего класса (без тестирования логики, связанной с Midas/DataSnap) должно быть достаточно простым.И действительно, вам не нужно тестировать логику Midas/DataSnap.

Но есть способы выполнить интеграционные и поведенческие тесты приложений Delphi.

Лично я бы не стал использовать TestComplete, потому что он плохо интегрируется с каким-либо CI-сервером, а тесты хранятся в собственном двоичном формате (что делает проблематичным объединение различий или поддержание изменений в любой системе контроля версий).

Вы могли бы попробовать dSpec, но я не уверен, что Джоди Докинз его больше поддерживает.

Я использовал АвтоИт Язык сценариев BASIC непосредственно в некоторых проектах, а также использовал свою сборку .NET для управления приложением Delphi с использованием NUnit и C# в других.Хотя решение NUnit/C# и не было идеальным, оно было более элегантным, чем все, что я видел для функционального/поведенческого тестирования приложений Delphi.Хотя установка потребовала некоторых усилий.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top