Я пытаюсь написать единичный тест для фрагмента кода, который включает использование pandas для чтения файла CSV с относительного пути. Структура каталога:Тест на нос Python с относительным путём файла pandas
./
./thing1/main.py
./thing1/test_main.py
./thing1/dat/file.csv
./otherthings/...
В main.py
, у меня есть:
def doThings:
pandas.read_csv('dat/file.csv')
if __name__ == '__main__':
doThings()
В test_main.py
, у меня есть
class TestMain:
def setup(self):
doThings()
def test_thing(self):
pass # there's other logic in here
вещи отлично работает, если я бегу main.py
, но когда я спрашиваю Anaconda «запускать тесты проекта», я получаю сообщение IOError, жалующееся, что «dat/file.csv» не существует. Это связано с тем, что это относительный путь, поскольку, когда я меняю его на /home/user/.../thing1/dat/file.csv
, он работает. Есть ли способ, которым я могу сделать работу с модулем, сохраняя относительный путь?