0
votes

Tests d'unité d'exécution indépendamment (.NET CORE)

Quelqu'un peut-il savoir quel type d'attribut pouvons-nous utiliser pour exécuter tous les tests de l'unité indépendamment? Par exemple, dans la suite, nous avons utilisé un attribut [fait], mais cela ne fait pas de tests de manière indépendante. Existe-t-il un autre attribut de type que nous pouvons utiliser pour initialiser les données au début de chaque test et faire fonctionner des tests indépendamment les uns des autres? Comment exécuter des tests unitaires de manière autonome dans le code Visual Studio? XXX


4 commentaires

Qu'entendez-vous par «indépendamment»?


Est-ce que cela répond à votre question? Exécuter des tests de l'unité en série (plutôt que parallèlement)


Yeh j'ai déjà essayé cela, mais cela n'a pas fonctionné.


@MJZ Il existe plusieurs solutions dans cette question. Qu'essayez-vous et comment cela n'a-t-il pas fonctionné?


3 Réponses :


0
votes

Si vous utilisez l'IDE Visual Studio, vous devriez essayer de vérifier la Exécutez des tests en parallèle sur la fenêtre Explorateur de test. Et ensuite vos tests doivent fonctionner en parallèle. Entrez la description de l'image ici


1 commentaires

Salut, merci pour la réponse, j'utilise le code Visual Studio



0
votes

Si vous ajoutez un constructeur à votre classe, vous pouvez configurer des données "initialisation", etc.

Il n'y a pas [attribut] , si vous connaissez d'autres frameworks de test, vous pouvez consulter une liste de comparaison pour voir comment les [attributs] se compare à Xunit.

Lorsque vous regardez * NOTE 3 sur cette page, vous le verrez décrit l'utilisation d'une interface iClassfixture qui peut être utilisée pour partager Contexte entre les tests

pour Test parallèle Vous pouvez le configurer dans < Un href = "https://xunit.github.io/docs/configuration-files" rel = "Nofollow NOREFERRER"> La configuration de Xunit.


0 commentaires

0
votes

J'ai finalement trouvé la réponse ici: Comment isoler la base de données d'inmémorie EF par Xunit Test En fait, nous voulons que notre contexte ne soit pas partagé entre les tests, nous devons donc faire un nouveau contexte au début de chaque test, comme celui-ci:

using (var Context = new myContext(CreateNewContextOptions()))
{ 
   //here we implement Arrange, Act, and Assert parts 
}


0 commentaires