2016-12-08 1 views
1

J'essaie d'ajouter des tests unitaires à une application Web API 2 existante.Test d'unité Web API Erreur d'assemblage NLog

Dans mon projet de test j'ai ajouté une référence au .dll de mon API Web à partir de son obj/dossier de presse. L'API Web utilise NLog.

je lance mon contrôleur je veux tester

var controller = new OrderController(); 

Puis-je obtenir l'exception suivante quand je lance le test.

System.IO.FileNotFoundException: Impossible de charger le fichier ou l'assemblage 'NLog, Version = 4.0.0.0, Culture = neutral, PublicKeyToken = 5120e14c03d0593c' ou une de ses dépendances. Le système ne peut pas trouver le fichier spécifié

Je ne sais pas ce que je dois faire avec NLog comme il fonctionne très bien dans mon API Web ..

Toutes les suggestions?

+0

1er au lieu de référencer la dll renvoie directement le projet si elles sont dans la même solution. Lorsque le test est en cours, il copie la DLL dans le répertoire bin. Si le projet web api a besoin de la DLL nlog, il ne le trouvera pas lors du test. faites en sorte que le projet de test référence également les dll nlog. – Nkosi

Répondre

1

Au lieu de référencer l'api web dll directement référence au projet si elles sont dans la même solution.

Lorsque le projet de test est en cours d'exécution, il copie le dll référencé sur son répertoire bin. Si le projet web api dépend de la DLL nlog, il ne le trouvera pas lors du test. Demandez au projet de test de faire référence aux dll nlog également.