Oui, j'ai lu les 'questions connexes' dans la boîte ci-dessus après avoir tapé ceci =). Ils ne m'ont toujours pas aidée autant que je le voudrais, car je comprends la différence entre les deux - je ne suis pas sûr d'en avoir besoin dans mon cas particulier.Quel est le but du test d'intégration automatique ici?
J'ai donc une application entièrement testée (simple &). J'ai une classe 'Job' avec une seule méthode publique Run() + cteurs qui prend en paramètre une feuille de calcul Excel, extrait les données, vérifie la base de données pour voir si nous avons déjà ces données et, si non, fait une requête à un fournisseur tiers, prend cette réponse, la met dans la base de données et termine le travail (mise à jour db à nouveau)
J'ai IConnection pour parler au fournisseur, IParser pour analyser les fichiers Excel/vendeur, IDataAccess pour faire tous les accès à la base de données . Ma classe d'emploi est maigre & moyenne et ne marche pas beaucoup de logique, même si en réalité il fait tous de la logique, il est vraiment juste « enchaînant le long de » données à travers les objets composites ...
donc tous les Les objets composites sont eux-mêmes testés unitairement, y compris le DAL, et même ma méthode Run() sur la classe Job est entièrement testée à l'aide de mocks pour tous les chemins de code.
Donc - dois-je faire n'importe quel type d'intégration tester à ce stade, d'autres puis exécutez l'application pour voir si cela fonctionne? Est-ce que mes tests de la méthode Run() avec des faux-semblants sont considérés comme mes tests d'intégration? Ou mon test d'intégration doit-il utiliser des instances réelles plutôt que des simulacres, puis affirmer les valeurs de la base de données à la fin, en fonction de la saisie de feuille de calcul Excel? Mais c'est ce que tous mes tests unitaires font déjà (juste à des endroits séparés, et le test Run mocké s'assure que ces endroits se connectent)! Suivant la méthodologie DRY, je ne vois pas le besoin de faire un test d'intégration ici ...
Est-ce que je rate quelque chose d'évident? Merci beaucoup encore ...
merci pour le conseil. Par «test de fumée», vous voulez dire exécuter l'application et vous assurer qu'aucune exception n'est levée? – dferraro
Oui, ou des tests très superficiels – krosenvold