Zamiast uruchamiać testy nosa z wiersza poleceń, używam testera, który ustawia kilka rzeczy dla wszystkich testów, w tym połączenie z lokalną instancją testową MongoDB. Dokumentacja tylko dla nosa wydaje się wskazywać, jak przekazywać opcje za pośrednictwem wiersza poleceń lub pliku konfiguracyjnego znajdującego się w twoim katalogu domowym. Czy istnieje sposób przekazywania opcji, takich jak --with-xunit podczas korzystania ze skryptu do przeprowadzania testów?Przesyłanie opcji do nosa w skrypcie testowym w języku Python
Odpowiedz
Jak to:
import nose
argv = ['fake', '--with-xunit']
nose.main(argv=argv)
z "fake" Argument musi być dodany stanąć na nazwę pliku wykonywalnego, jak opisano w odpowiedzi DBW użytkownika.
Nos robi coś podstępnego z pierwszym argumentem, więc nie jest analizowany. Mój nos wrapper robi coś takiego:
import nose
import sys
argv = sys.argv[:]
argv.insert(1, "--with-xunit")
nose.main(argv=argv)
Jako bonus, pozwala klientom swojego programu użyć argumentów nos kontrolować swoje zachowanie!
To działa. Dziękuję Ci. – KobeJohn
Uważam, że jest to poprawniejsza odpowiedź. Punkt o Nosie podstępnym z pierwszym argumentem jest bardzo ważnym punktem. – munk
Nos nie jest podstępny :) Chodzi o to, że lista 'argv' zawsze zaczyna się od nazwy pliku wykonywalnego. Tak więc, kiedy mówisz 'argv = ['--with-xunit']', ustaw nazwę pliku wykonywalnego na '--with-xunit' i nie przekazuj żadnych argumentów. Aby to naprawić, użyj 'argv = ['fake', '--with-xunit']' – Timur
- 1. Prominentne projekty w języku Python używające Nosa do testowania
- 2. Uruchamianie wierszy poleceń w twoim skrypcie w języku Python
- 3. Obsługa wyjątków w środowisku testowym Python Behavior Testowanie
- 4. niepoprawny argument opcji "-resize" w skrypcie powłoki
- 5. Logowanie w języku Python do obsługi StringIO
- 6. Jak przekazać flagę do gcc w skrypcie setup.py w języku Python?
- 7. Import w języku Python do testów przy użyciu nosa - jaka jest najlepsza praktyka w przypadku importowania modułów powyżej bieżącego pakietu
- 8. iteritems w języku Python
- 9. Zaakceptuj pliki cookie w języku Python
- 10. Logowanie w języku Python?
- 11. Deskryptory w języku Python nie działają w języku Python 2.7
- 12. Problemy z używaniem nosa w virtualenv
- 13. Pakiety w języku Python?
- 14. Wątki w języku Python
- 15. ++ operator w języku Python
- 16. sqlite3 w języku Python
- 17. Przerwa w języku Python
- 18. Wielowątkowe przesyłanie wiadomości w języku C++
- 19. Pakiet w języku Python do przetwarzania sygnałów
- 20. Czy w języku Python występuje "do ... aż"?
- 21. Wyślij wiadomość do skryptu w języku Python
- 22. Przekazywanie listy w języku Python do php
- 23. Czy dobrze jest wywoływać polecenia bash w skrypcie w języku Python za pomocą os.system ("bash code")?
- 24. W skrypcie Python, jak ustawić PYTHONPATH?
- 25. Korzystanie z narzędzia os.execvp w języku Python
- 26. Jak wyprowadzić informacje do konsoli w skrypcie python Gimp?
- 27. /var/run/docker.sock: odmowa uprawnień podczas uruchamiania okna dokowanego w skrypcie CGI w języku Python
- 28. Przesyłanie pliku do google docs za pomocą skryptu Python
- 29. Rejestrowanie w języku Python niczego nie wypuszcza.
- 30. Efekt wydajności używania instrukcji drukowania w skrypcie Python
próbował tego, ale raport nie jest generowany –
@Matt: Jesteś pewien? ponieważ używam tego samego fragmentu kodu w jednym z moich projektów, a ja właśnie się zmieniłem, aby wygenerować raport 'xunit' i został on wygenerowany z powodzeniem pod' nosetests.xml'!? może brakuje mi czegoś ... – mouad
Tak, próbowałem tego pierwszy i raport nie został wygenerowany. Próbowałem z linii poleceń i mam jeden. Przepraszam: -/ –