Projetk działa jedynie pod IDE

Projetk działa jedynie pod IDE
Masteratom
  • Rejestracja:ponad 9 lat
  • Ostatnio:3 miesiące
  • Postów:81
0

Witam pierwszy raz się z tym spotkałem i nie wiem jak mam ten problem rozwiązać.
Stworzyłem testy automatyczne i działają świetnie. Działają jedynie wtedy gdy odpalam jest pod IDE. Natomiast jak chcę je uruchomić spod konsoli w środowisku venv testy nie przechodzą. Dostaję błąd :

Kopiuj
Traceback (most recent call last):
  File "ModulTests.py", line 2, in <module>
    from tests.projects.SDK import Energy
ModuleNotFoundError: No module named 'tests'

Wygląda to jak by python nie widział całego drzewa katalogowego, lub szukał katalogu nie tam gdzie powinien.
Nie wiem jak rozwiązać ten problem. Pierwszy raz się na to nadziałem. Pytanie co zrobiłem źle ?

edytowany 1x, ostatnio: Masteratom
Arthan
  • Rejestracja:około 18 lat
  • Ostatnio:ponad rok
0

Jakie IDE? Jaka jest struktura katalogów i plików projektu?
Może folder tests nie zawiera pliku

Kopiuj
__init__.py

, a mimo to Twoje IDE sobie z tym jakoś radzi?

Masteratom
  • Rejestracja:ponad 9 lat
  • Ostatnio:3 miesiące
  • Postów:81
0

├── lib
│   └── helpers
│   ├── Helper.py
│   ├── Loader.py
│   ├── Helper.py
│   ├── Mysql.py
├── README.md
├── requirements.txt
├── tests
│   ├── init.py
│   ├── projects
│   │   ├── backend
│   │   │   ├── config.yml
│   │   │   ├── init.py
│   │   │   ├── src
│   │   │   │   ├── init.py
│   │   │   │   └── Opendata.py
│   │   │   └── tests
│   │   │   ├── init.py
│   │   │   └── opendata.py
│   │   ├── init.py
│   │   ├── projekttestowy
│   │   │   ├── config.yml
│   │   │   ├── init.py
│   │   │   ├── src
│   │   │   │   ├── init.py
│   │   │   │   └── Testertestowy.py
│   │   │   └── tests
│   │   │   ├── init.py
│   │   │   └── test.py
│   │   └── SDK
│   │   ├── config.yml
│   │   ├── init.py
│   │   ├── src
│   │   │   ├── builder.py
│   │   │   ├── Tester.py
│   │   │   ├── init.py
│   │   └── tests
│   │   ├── init.py
│   │   ├── Electric.py
│   │   └── pycache
│   └── src
│   ├── init.py
│   └── testers
│   ├── Http.py
│   ├── init.py
│   ├── JsonApi.py
│   └── Tester.py
└── venv

I już nie może wejść do katalogu tests.

edytowany 1x, ostatnio: Masteratom
Masteratom
  • Rejestracja:ponad 9 lat
  • Ostatnio:3 miesiące
  • Postów:81
0

@Arthan: Rozwiązałem problem połowicznie. Uruchamiam plik tak:

Kopiuj
PYTHONPATH=ścieżka do projektu python ścieżka/do/pliku.py

Teraz nie krzyczy że nie może czegoś znaleźć ale nie wykonuje mi w środku testów. Dodałem na samym końcu pliku:

Kopiuj
test = ObiektzTestami()
test.testpierwszy()

Wchodzi do samego testu ale nie wykonuje go.

Czyli dalej problem nie rozwiązany.

edytowany 1x, ostatnio: Masteratom
Arthan
  • Rejestracja:około 18 lat
  • Ostatnio:ponad rok
1

To chyba nie tak uruchamia się testy.
https://docs.python.org/3/library/unittest.html#basic-example
Czyli najważniejsze jest wywołanie unittest.main() by w ogóle je ruszyć, nie wywołuje się metod i nie tworzy się obiektów samemu. Bynajmniej ja się z takim podejście nie spotkałem.
https://docs.python.org/3/library/unittest.html#unittest.main

GH
Bynajmniej ≠ Przynajmniej!!
Arthan
Co najmniej masz rację ;)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.