Czy w jakiś sposób można przekazać wartości do testów NUnit za pośrednictwem wiersza poleceń? Moje testy używają określonego adresu URL. Mam różne wystąpienia mojego kodu pod różnymi adresami URL i chciałbym podać URL za pomocą wiersza poleceń. App.config nie jest opcją, ponieważ chcę uruchomić testy dla różnych adresów URL za pomocą pliku wsadowego.Przekazywanie parametrów za pomocą wiersza poleceń do NUnit
Odpowiedz
Wygląda na to, że obecnie nie ma rozwiązania. Najlepiej jest użyć plików projektu NUnit, zmodyfikować tam ustawienia i przekazać plik rozwiązania do runnera.
Zmienna środowiskowa.
Użyj set
z wiersza poleceń lub <setenv>
z nant. Następnie odczytaj wartość za pomocą Environment.GetEnvironmentVariable()
.
miałem podobny problem, odpowiedź Achim umieścić mnie na właściwe tory, dla innych czytelników
Utwórz plik jak example.nunit takiego:
<NUnitProject>
<Settings activeconfig="local"/>
<Config name="local" configfile="App.config">
<assembly path="bin\Debug\example.dll"/>
</Config>
<Config name="dev" configfile="App.Dev.config">
<assembly path="bin\Debug\\example.dll"/>
</Config>
<Config name="test" configfile="App.Test.config">
<assembly path="bin\Debug\\example.dll"/>
</Config>
</NUnitProject>
cały plik/ścieżki (plików konfiguracyjnych i zespołów) są zależne od lokalizacji pliku Niki. Również App.config, App.Dev.config, itp. Są po prostu plikami konfiguracyjnymi .net.
Następny gdy Wanne uruchomić go przez pewien config ją wykonać jak to
nunit3-console.exe example.nunit /config:test
Więcej informacji na temat formatu pliku nunit https://github.com/nunit/docs/wiki/NUnit-Project-XML-Format
Więcej informacji o argumentach linii poleceń http://www.nunit.org/index.php?p=consoleCommandLine&r=2.2.5
@Achim Próbował wykonać powyższą metodę, dodając configs w pliku Nunit, ale wyświetla komunikat o błędzie - Nie można zlokalizować Urządzenia. \ nunit-console-x86.exe $ env_config/config: CI/run: $ feature $ dll_dir/result = $ result_dir – ReuseAutomator
@Marteen Kieft Czy możesz mi pomóc w powyższym wydaniu Mam do czynienia z – ReuseAutomator
@ReuseAutomator: Wydaje się, że to coś wewnątrz twojego projektu i nic konkretnego dla tej konfiguracji konfiguracji. W rzeczywistości bez tej konfiguracji konfiguracji można bezpośrednio uruchomić testy, wykonując: nunit3-console.exe mytest.dll Prawdopodobnie otrzymujesz ten sam błąd, więc możesz sprawdzić: Czy twoja klasa testowa ma atrybut atrybutu testowego na nim Rozpocznij swoją klasę z Publiczną (tak publiczna mytestclass {..} zamiast tylko z klasą (bez publiczności) .Jeśli nadal masz do czynienia, stwórz pytanie tutaj i wskaż mi to :) –
Czy próbowałeś używać Environment.GetCommandLineArgs? Czy to działa? http://msdn.microsoft.com/en-us/library/system.environment.getcommandlineargs.aspx – Paddyslacker