J'ai fait de nombreuses recherches avant de publier la question, mais je n'ai pas trouvé de solution pour résoudre mon problème.
J'essaie d'utiliser le sélénium pour faire des tests d'automatisation, mais le problème est que mon explorateur de tests ne reprend pas les tests de specflow pour une raison quelconque.
Voici ce que j'utilise:
Packages NuGet que j'ai installés:
J'ai également installé Specflow pour Visual Studio 2017.
J'ai installé et désinstallé des tas de packages NuGet pour essayer de résoudre ce problème. Quelqu'un peut-il m'aider s'il vous plaît?
3 Réponses :
Il me semble que vous pourriez manquer la référence à TechTalk.SpecRun.Common. Veuillez vérifier que cela figure dans vos références de solution.
S'il est référencé, le cache de votre adaptateur de test est peut-être corrompu. Essayez de parcourir ces étapes: Dépannage de l'intégration de Visual Studio
J'ai supprimé les packages SpecRun NuGet, car j'ai également le Xunit Runner, mais maintenant il est dit "Aucun test n'est disponible dans ..."
Après de nombreux essais, j'ai finalement corrigé. Après avoir supprimé l'un des coureurs, SpecRun, j'ai ajouté le package NuGet Specflow.Tools.MSbuild.Generation et cela a résolu le problème.
J'espère que cela sera utile pour quelqu'un avec le même problème!
Avez-vous cela fonctionne avec VS Code? Il semble que votre solution soit là où je veux commencer - avez-vous un exemple sur GitHub?
Je n'utilise pas de code VS, j'utilise Visual Studio 2017
Avez-vous un exemple de solution que vous pourriez mettre sur GitHub?
Si vous rencontrez le problème et que vous avez déjà installé le package NuGet Specflow.Tools.MSBuid.Generation
dans votre projet, vous
perdez par intermittence vos tests générés, alors vous devez être conscient que
il y a un bogue dans Specflow.Tools.MSBuild.Generation
Version = 2.3.2
Vous pouvez passer à une version plus récente de Specflow.Tools.MSBuild.Generation ou appliquez une solution de contournement.
La solution de contournement consiste à modifier votre .csproj et à ajouter une section après AfterUpdateFeatureFilesInProject
.
<Target Name="AfterUpdateFeatureFilesInProject"> <ItemGroup> <Compile Include="@(SpecFlowGeneratedFiles)" /> </ItemGroup> </Target> <!-- Workaround Specflow 2.3 MSBuild bug. SpecFlowGeneratedFiles is not set if UpdateFeatureFilesInProject is up-to-date causing tests not to be discovered, as they are not included in the project --> <ItemGroup> <Compile Include="**/*.feature.cs" Exclude="@(SpecFlowGeneratedFiles)"> <DependentUpon>%(Filename)</DependentUpon> </Compile> </ItemGroup>
De plus, lorsque je construis les solutions, cela me renvoie cette erreur: [30/01/2019 10:15:46 Error] Une exception s'est produite lors de l'appel de l'exécuteur 'executor: //specrun/executorV3.0.194': Une exception a été levée par le cible d'une invocation. Impossible de charger le fichier ou l'assembly 'TechTalk.SpecRun.Common, Version = 3.0.0.0, Culture = neutral, PublicKeyToken = d0fc5cc18b3b389b'. Le système ne peut pas trouver le fichier spécifié. ========
Vous n'avez pas besoin de 2 coureurs. Je supprimerais SpecRun.Runner.
Je l'ai fait, mais cela ne dit pas qu'un test est disponible dans home \ username \ Documents \ Visual Studio 2017 \ Projects \ TestSelenium \ TestSelenium \ bin \ Debug \ netcoreapp 2.1 \ TestSelenium.dll.