0

J'ai une application Web MVC3 avec une base de données locale sous App_Data/ASPNETDB.MDF. J'ai aussi un projet de test d'intégration que j'utilise pour faire fonctionner NUnit. Il a quelques tests de lecture de la base de données. J'ai copié la chaîne de connexion du fichier web.config du projet MVC dans le fichier app.config du projet de test. Les deux projets utilisent Entity Framework Code First.Où se trouve mon fichier de base de données?

Mon site fonctionne très bien. Mes tests fonctionnent très bien. Mais les données sont différentes dans les deux projets. Ergo ... ils utilisent des bases de données différentes, non?

<head scratch="true"> 
    <puzzledLook /> 
</head> 

Mes questions

  1. Sont-ils des bases de données vraiment différentes?
  2. Où se trouve le fichier de base de données pour le projet de test? Je ne peux pas le trouver.
+2

'Où est le fichier de base de données' - LOL! Je suis désolé, mais ... Ce serait encore plus drôle si je n'avais pas eu le même problème moi-même à l'occasion :) –

+1

Il n'y a pas assez d'informations dans votre question pour qu'il soit responsable. Vous avez oublié quelque chose dans votre code. –

Répondre

1

Le test crée un dossier de test. Votre fichier de base de données est-il marqué pour copier dans le répertoire de sortie? Dans ce cas, ne pouvez-vous pas ajouter

Assembly.GetExecutingAssembly().Location 

à l'un de vos tests unitaires?

+0

Excellente suggestion, mais il n'y avait pas de bases de données là-bas. Encore, +1 pour une bonne idée. – Rap

0

Je pense que la réponse ci-dessus est à peu près juste, bien que j'utiliser Environment.GetCommandLineArgs() [0]

Un exemple pour mon projet de test serait c: \ program files \ Visual Studio Microsoft 9.0 \ Common7 \ ide \

me semble me rappeler que le dossier AppData est copié à l'emplacement de l'exe pour qu'il puisse trouver les données quand il est en cours d'exécution

le problème est dû au fait que les tests unitaires sont gérés par un exécutable distinct appelé VSTestHost.exe

Questions connexes