Mam projekt jednostki testowej ustawiony w tym samym rozwiązaniu, co mój projekt w Visual Studio. Testowanie jednostek odbywa się za pomocą wbudowanych narzędzi do testowania jednostkowego w Visual Studio (zawartych w wersjach Premium i wyższych). Potrzebuję załadować plik, który znajduje się na ścieżce samego projektu, a nie projekt testowy, podczas uruchamiania testów jednostkowych w projekcie testowym.Jak uzyskać ścieżkę projektu z projektu testowego?
Plik obejmować jest częścią głównego projektu, i ma następujące właściwości:
- Konstruowanie Działanie: zawartość
- Kopiuj do wyjścia katalogu: Zawsze
muszę napisać test jednostkowy dla funkcji, która zależy od tego pliku, albo trafię w stan błędu i nie będę mógł napisać testów dla 100% pokrycia dla tej funkcji.
Jak uzyskać ścieżkę wykonania rzeczywistego projektu z projektu testu jednostkowego?
Edytuj: Określona funkcja odczytuje wszystkie wiersze w pliku konfiguracyjnym i przechowuje je pojedynczo na liście. Przykładowy kod w następujący sposób:
public List<string> LoadConfigFile() {
List<string> models = new List<string>();
StreamReader sr = new StreamReader(Path.GetDirectoryName(Application.ExecutablePath) + @"\" + Properties.Resources.SupportedModelsConfigFile);
while ((line = sr.ReadLine()) != null)
{
models.Add(line);
}
sr.Close();
return models;
}
Podstawowy problem: Application.ExecutablePath działa poprawnie, gdy uruchomiony program wewnątrz lub na zewnątrz IDE, ale podczas uruchamiania testów jednostkowych, wysyła mnie do katalogu w visual studio, a konkretnie tego katalogu:
C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\QTAgent32.exe
Co robisz z pliku? –
również, jeśli masz już napisany kod, być może wklejenie kodu byłoby dobrym pomysłem i komentarzem w tym kodzie, w którym występują problemy, jeśli takie istnieją i gdzie w tym kodzie chcesz wykonać lub dodać dodatkową funkcjonalność ... – MethodMan