2015-07-27 13 views
8

Mam trudności z konfigurowaniem testów uruchomionych w PyCharm.Uruchamianie testów aplikacji Django w PyCharm

chcę uruchomić testy dla moich django niestandardowych aplikacji, więc moja konfiguracja wygląda tak:

Django apps in options field

To działa dobrze w większości (testy wykonywane, uda), choć to nie pozwala ponownie uruchom poszczególne testy i ponownie uruchom nieudane - zawsze uruchamia wszystkie testy dla określonych aplikacji (wspólne i autoryzacja).

Instrukcja mówi, należy umieścić nazwy aplikacji django w „target” pole jak poniżej:

Django apps in Target field

Ale kiedy to zrobić, moje badania nie działać z błędami dziwne: czasami nie można importować niektóre moduły, choć są one zdecydowanie dostępne, czasami istnieje wiele wyjątków NoReverseFound, chociaż żaden z nich nie jest obecny w kodzie.

Przypuszczam, że konfiguruję coś źle, ale nie mogę zrozumieć, co. Używam najnowszej wersji pycharm oraz jedną z wersji 1.5.x Django (troche starszego kodu z powrotem w dzień musiałem utrzymać)

UPD: Jeśli mogę umieścić authorization.UserApiTestCase.test_login w celu - działa świetnie , authorization.UserApiTestCase też działa, ale wstawienie nazwy aplikacji (authorization) nie zadziała i spowoduje błędy NoReversrMatch lub importu ... pozostanie puste również będzie działało, chociaż uruchomi nawet wewnętrzne testy Django i to nie jest to, czego potrzebuję - I po prostu chcę uruchomić wszystkie testy moich aplikacji (lub testy z konkretnych aplikacji).

+0

Byłoby miło, gdybyś wspomniał o używanej wersji Django, ponieważ zmieniło to ładowanie aplikacji i obsługę testów w trzech ostatnich wersjach. –

+0

Pierwsze i drugie zdjęcie są takie same. – f43d65

+0

Nie, nie są. Spójrz na pola Cel i Opcje. – DataGreed

Odpowiedz

0

Jak się okazało, jest to błąd związany ze starszymi wersjami Django. Aktualizacja do najnowszej wersji (1.9.2) rozwiązała problem.

3

Jeśli struktura projektu w pycharm wygląda podobnie do tego:

myproject 
├── README.md 
├── myproject 
│   ├── app1 
│   │   └── test.py 
│   ├── app2 
│   │   └── test.py 
│   ├── app3 
│   │   └── test.py 
│   └── settings.py 
└── requirements.txt 

Wtedy może trzeba dodać folder drugi poziom myproject jako "Sources Root"

folders „Źródła root” są wskazywane przez niebieski ikona folderu w oknie "Projekt"

Aby dodać "Korzeń Źródła", przejdź do Preferencje -> Projekt: Mój projekt -> Struktura projektu

Sprawdź także "dodaj korzenie źródłowe do PYTHONPATH" w "Konfiguracjach uruchamiania/debugowania".

Po tym czasie powinieneś być w stanie uruchomić testy z określonymi celami.

+0

gdzie zarządza.py na żywo w projekcie? – DataGreed

+0

Moja starsza na drugim poziomie jest już zaznaczona jako folder źródłowy, chociaż nie mam plików o nazwie test.py, moje są nazywane tests.py (jak sądzę, konwencja Django). "dodaj korzenie źródłowe do PYTHONPATH" jest ustawione na true (ma zaznaczenie) – DataGreed

+0

Moje 'managed.py' żyje na tym samym poziomie co' requirements.txt'. i 'test.py' jest literówką, masz rację,' tests.py' jest konwencją. – quaspas