Question

Comment configurer le test DUnit dans un projet Midas / DataSnap sous Delphi 2006

Modifier

Comment configurer un test Dunit dans un TRemoteDataModule L’assistant de projet de Delphi 2006 ne fonctionne pas avec TRemoteDataModule

Était-ce utile?

La solution

La question n’a pas de sens. Les tests unitaires sont effectués dans un projet séparé, pas au sein de votre serveur DataSnap. Généralement, les tests qui se connectent à une base de données sont des tests d'intégration plutôt que des tests unitaires. Qu'est-ce que c'est, exactement ce que vous voulez tester? Si ce sont des méthodes utilitaires dans, par exemple, un TRemoteDataModule, vous devez les extraire dans une classe séparée en tant que méthodes de classe et les tester à cet endroit. Vous ne devriez pas avoir à instancier un serveur d'applications pour effectuer des tests unitaires.

Autres conseils

Désolé pour la réponse succincte ci-dessus, l'iPad publie chaque fois que je frappe en appuyant sur la touche Entrée lors de la modification d'un message.

dUnit est conçu pour effectuer des tests unitaires, et ce que vous essayez de faire n'est PAS un test unitaire.

Un test n'est pas un test unitaire si:

  • Il parle à la base de données
  • Il communique sur le réseau
  • Cela touche le système de fichiers
  • Il ne peut pas être exécuté en même temps que vos autres tests unitaires
  • Vous devez exécuter des tâches spéciales dans votre environnement (telles que l'édition de fichiers de configuration) pour l'exécuter.
  • Il ne peut pas fonctionner isolément

Si vous suivez les principes SOLID (en particulier le principe de responsabilité unique), utiliser dUnit pour tester votre classe (sans tester la logique liée à Midas / DataSnap) devrait être relativement simple. Et vraiment, vous ne devriez pas avoir besoin de tester la logique Midas / DataSnap.

Mais il existe des moyens d'effectuer des tests d'intégration et de comportement sur les applications Delphi.

Personnellement, je n’utiliserais pas TestComplete car il s’intègre mal à tout type de serveur de CI et les tests sont stockés dans un format binaire propriétaire (ce qui rend la fusion des différences ou le maintien des modifications problématiques dans les systèmes de contrôle de code source).

Vous pouvez essayer dSpec , mais je ne suis pas sûr que Jody Dawkins la maintienne.

J’ai utilisé le langage de script AutoIt de base directement sur certains projets, mais également Assemblage .NET pour piloter une application Delphi à l'aide de NUnit et C # sur une autre. Bien qu’elle ne soit pas parfaite, la solution NUnit / C # était plus élégante que tout ce que j’avais vu auparavant pour effectuer des tests fonctionnels / comportementaux dans les applications Delphi. Il a toutefois fallu déployer des efforts pour le configurer.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top