В библиотеке py.test есть конфигурационный фаил conftest.py. Когда я в нем запрашиваю текущую директорию через os.getcwd(), то мне возвращается директория C:\Program Files\Java\jdk1.8.0_60\jre\bin . Если запустить тест через cmd, то директория будет верной
Пример.
Простой тест и файл конфигурации для фикстур
# coding=utf-8
import json
import os
def test_simple(curdir):
print curdir
Это конечно не сильно мешает работе(из-за этой проблемы я вынужден вначале менять директорию через os.chdir()), но не приятно и хочется понять почему так происходит?(
Но тогда почему если я создам в PyCharm простой питоновский скрипт в котором пропишу os.getcwd(), то он вернет мне нормальную директорию?
Проблема именно в файле conftest.py, который относится к библиотеке PyTest
Как я и писал выше, тесты могут выполняться не напрямую через python, а через какой нибудь враппер, чтобы идея как то понимала контекст. Но это так, догадки. Просто юзайте то что я выше писал и будет вам счастье
З.Ы.: os.getcwd() так же не работает если вы юзаете какой нибудь py2exe или еже с ними, по той же причине.