Question

Arrière plan

J'ai écrit une suite de tests dans "MSTEST" qui a un modèle XML.

Le test remplit ce modèle avec des données de ma base de données et les publie vers un service Web. Lorsque le service Web répond avec une réponse, les données XML d'entrée sont comparées aux données XML reçues du service dans sa réponse, et les entrées sont enregistrées dans un fichier texte.

Fondamentalement, ce test a une fonction de point d'entrée (c'est la seule fonction avec l'attribut de méthode de test) qui anime ensuite toutes les autres fonctions du test

Le problème

Le problème est que lorsque le test prend trop de temps. Publier sur le service Web et récupérer une réponse prend presque 2 minutes Pour chaque instance et j'ai 100 instances de données de ce type, il faudrait donc environ 200 minutes au minimum pour terminer.

Mon patron m'a dit d'examiner le multi-threading ce test, espérons-le, espérons-le, pour réduire le temps.

Une autre chose que je voudrais souligner, c'est que je passe par différentes instances de XML d'entrée en utilisant l'attribut DataSource similaire à ce qui est mentionné dans Cet article. La différence est que j'utilise une vue depuis ma base de données pour exécuter l'attribut de source de données plutôt qu'un fichier CSV.

Toutes les idées sur le multi-thread de ce test et la sécurité des fils seront grandement appréciées. Merci d'avance

Était-ce utile?

La solution 2

TPL fonctionne pour moi, je devais juste s'assurer que chaque variable était locale

Autres conseils

Pouvez-vous s'il vous plaît expliquer la façon dont vous exécutez les appels vers "mstest"? Si vous exécutez manuellement l'exécution des tests, vous pouvez ajouter un support multi-thread très facilement et gagner beaucoup de temps précieux, car votre patron a à l'esprit :)

J'ai joint ce lien de vue d'ensemble MSDN qui couvre également les bases de la sécurité du thread:http://msdn.microsoft.com/en-us/library/ms173178.aspx

Si vous utilisez une option intégrée de l'application IDE / Test, vous pouvez être limité aux fonctionnalités qu'il a à offrir.

J'attends ta réponse.

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