Blanc s'exécute à l'aide de Microsoft UI Automation, qui s'intéresse à toute interface graphique prise en charge. Il ne s'inquiète pas du tout du code, et vous ne pouvez pas interagir avec ce code de la même manière que vous le feriez avec un test unitaire.
En règle générale, vous démarrez votre application via son fichier .exe, puis utilisez White pour l'automatiser. Pour le démarrer avec seulement le client, vous devez provoquer le processus lui-même pour démarrer avec le contexte d'application simulé. Cela signifierait compiler le .exe en conséquence, ou avoir deux exécutables différents, dont l'un configure vos paquets correctement et l'autre pas.
Sans la base de données, vous n'effectuez pas réellement un test d'acceptation, qui vérifie que le code est en bon état pour être accepté en production. Donc, je ne m'inquiéterais pas de me moquer de la base de données.
je prendrais une de ces approches:
Recréez la base de données pour chaque essai, le peuplant avec un contexte approprié si nécessaire
Tag les données générées par le test avec la date -temps pour que vous puissiez le distinguer des données normales
Faites une version fictive de votre serveur qui répond avec des réponses fixes pour les demandes, et demandez à l'application de l'utiliser à la place (peut-être avec juste un argument de ligne de commande). S'il vous plaît noter que cela ne vérifie toujours pas que tout fonctionne avec la base de données. Cela peut être approprié si vous voulez simplement montrer le traitement des erreurs, ou si une autre équipe sera responsable de la production du service.
Espérons que ces idées aident et offrent des options, de toute façon!