Jaki jest python sposób pisania unitest, aby sprawdzić, czy moduł jest prawidłowo zainstalowany? Przez poprawnie zainstalowaną mam na myśli, nie wywołuje on ImportError: Brak modułu o nazwie foo.Jak napisać unittest do importowania modułu w Pythonie
Odpowiedz
As I have to deploy my Django application on a different server and it requires some extra modules I want to make sure that all required modules are installed.
To nie jest scenariusz testu jednostkowego.
Jest to proces przygotowania produkcji i nie jest - technicznie - testem twojej aplikacji.
To zapytanie o środowisko. Nasza obejmuje dziesiątki rzeczy.
Zacznij od prostego skryptu, takiego jak ten. Dodaj każdą rzecz, którą potrzebujesz, aby się upewnić, że istnieje.
try:
import simplejson
except ImportError:
print "***FAILURE: simplejson missing***"
sys.exit(2)
sys.exit(0)
Po prostu uruchom ten skrypt w każdym środowisku w ramach instalacji. To wcale nie jest test jednostkowy. Jest to warunek wstępny instalacji instalacji.
Dziękuję bardzo i przepraszam za używanie niewłaściwej terminologii, to oczywiście postawiło całą masę ludzi na niewłaściwą stopę :) – DrDee
nie widzę dlaczego trzeba by to sprawdzić, ale coś takiego:
def my_import_test(self):
import my_module
Jeżeli błąd import jest podniesiona badanie zakończyło się niepowodzeniem, jeśli nie przechodzi.
Może nie jestem jasny w tym, czego potrzebuję. Chcę sprawdzić, czy import modułu zakończył się powodzeniem, czy nie, więc widzę, jakich modułów brakuje i które należy zainstalować. Więc jak mogę użyć self.assertUnequals ... oświadczenie – DrDee
- 1. Jak można używać modułu rejestrowania w pythonie z modułem unittest?
- 2. Czy istnieje powód do importowania modułu string w Pythonie?
- 3. Jak mogę utworzyć testowych w Pythonie unittest
- 4. Jak napisać powłokę w Pythonie
- 5. Jak napisać "kartę" w Pythonie?
- 6. Jak przejść do importowania PyCharm?
- 7. dodatek do załadowanego klasy/modułu w Pythonie
- 8. py.test: ukryć linie StackTrace z modułu unittest
- 9. Jaka jest różnica między modułami Unittest i unittest2 w Pythonie?
- 10. Niezdefiniowany błąd symbolu podczas importowania modułu Cython
- 11. Jak napisać pusty blok wcięć w Pythonie?
- 12. Jak napisać komentarz śródliniowy w pythonie
- 13. Jak napisać matrycę zamieszania w Pythonie?
- 14. Jak napisać serwer proxy w Pythonie?
- 15. Jak napisać funkcję odpytywania w Pythonie?
- 16. Jak napisać listę list do pliku w Pythonie
- 17. Jak napisać EOF do STDIN popen w Pythonie
- 18. jak napisać do nowej komórki w Pythonie za pomocą openpyxl
- 19. Wersja do druku modułu bez importowania całego pakietu
- 20. Jak usunąć modułu używającego Anaconda w Pythonie
- 21. Pole struct jest prywatne podczas importowania modułu
- 22. Jak uzyskać odwołanie do atrybutów bieżącego modułu w Pythonie
- 23. Instalacja modułu lxml w Pythonie
- 24. Jak używać instrukcji importowania niestandardowych modułów w Pythonie
- 25. Jak tymczasowo ukryć stdout lub stderr podczas uruchamiania unittest w Pythonie
- 26. Uzyskiwanie PyCharm do importowania sklearn
- 27. Wyjście unittest w IPython
- 28. ImportError podczas próby importowania modułu Pythona w SublimeText2
- 29. Czy mogę napisać screencapture w Pythonie
- 30. Jak odwołać się do modułu najwyższego poziomu w Pythonie wewnątrz paczki?
Ogólnie rzecz biorąc, nie ma wiele testów jednostkowych. Czy nie ufasz wyrażeniu 'import'? Linia kodu importu jest tak prosta - i tak łatwa do sprawdzenia - że wydaje się trochę głupia, aby ją przetestować. Dlaczego jednostka testuje wyrażenie 'import'? –
Ponieważ muszę wdrożyć moją aplikację Django na innym serwerze i wymaga ona kilku dodatkowych modułów, chcę się upewnić, że wszystkie wymagane moduły są zainstalowane. Na przykład, upewniając się, że simplejson jest zainstalowany dla Pythona 2.5. Oczywiście ufam komunikatowi importu, po prostu nie chcę zapomnieć o instalacji potrzebnego modułu. – DrDee
Wygląda na to, że przeprowadzasz testy środowiska produkcyjnego, co jest ... dziwne. W każdym razie, testujesz, że masz odpowiednie zależności, co jest zadaniem dla menedżera pakietów. Utwórz pakiety dla twojej aplikacji lub użyj pythonic managerów zależności (pip i pip install -r requirements.txt w virtualenv przychodzi ci na myśl). – Almad