J'essaie d'exécuter un ensemble de cas de test via l'une de nos applications internes. J'ai besoin d'être capable d'automatiser ces tests et de les exécuter via la ligne de commande et de consigner diverses choses. Le problème est que le code existant ne sépare pas la vue du contrôleur et renvoie MessageBoxes et Alertes partout où l'utilisateur clique sur un bouton (dans mon cas, OK/CONTINUE). Actuellement, il a été décidé d'introduire des indicateurs d'état qui aideront à déterminer le contexte à partir duquel l'application est en cours d'exécution afin que l'on puisse décider de faire un Console.WriteLine()
ou un MessageBox.Show()
. Mais comme vous pouvez l'imaginer, cela a entraîné de nombreux changements et des blocages d'if-else. Malheureusement, il ne semble pas possible de s'asseoir et de séparer la logique de la vue à ce stade. Donc je me demandais s'il y avait un moyen de détecter le contexte dans lequel l'application s'exécute. Je voudrais remplacer chacun de l'appel MessageBox() avec un appel Notify() qui lui-même peut détecter le contexte - si montrer la sortie sur une invite de commande ou faire apparaître un formulaire.Comment détecter le contexte à partir duquel une application est en cours d'exécution? Que ce soit à partir de l'invite de commande ou d'un formulaire Windows
EDIT_1: Toutes autres suggestions pour ce faire sont également les bienvenues.