Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 9, 2018 19:27:12

Levitanus
Зарегистрирован: 2018-05-01
Сообщения: 46
Репутация: +  0  -
Профиль   Отправить e-mail  

помогите воспаленному мозгу с путями для тестов проекта

Такс. Использую ST3 + Anaconda.
Структура папок на картинке. Тест сам по себе проходит.

Исходник:

 from kits_config import Kit
from kits_config import Kits
import unittest as _t
class TestKit(_t.TestCase):
    def setUp(self) -> None:
        Kit.kit_ids = list()
        Kit.kit_names = list()
        self.kit = Kit('TestKit', 'testdata/TestKitSamples', -5)
        self.kit._nka_path = 'testdata/'
    def tearDown(self) -> None:
        del self.kit
    def test_errors(self) -> None:
        """test for proper raising errors"""
        self.kit._samples_path = 'testdata/TestKitWrongSamples'
        with self.subTest():
            with self.assertRaises(Kit.Error) as e:
                self.kit.zones
            self.assertEqual(str(e.exception),
                             'length of zones and names lists is not equal.'
                             ' Probably, zones have to be updated for '
                             f'{self.kit.name}')
    def test_lists(self) -> None:
        """test contents of arrays"""
        print(__file__)
        print(__name__)
        with self.subTest():
            self.assertEqual(len(self.kit.zones), len(self.kit.names))
        self.assertEqual(self.kit.zones, [1, 2, 3])
        self.assertEqual(self.kit.names, ['TestKit_sample_1',
                                          'TestKit_sample_2',
                                          'TestKit_sample_3'])
class TestKits(_t.TestCase):
    def runTest(self) -> None:
        self.kits = Kits()
        Kit1 = Kit('Kit1', '.', -1)
        Kit2 = Kit('Kit2', '.', -2)
        self.kits.append(Kit1)
        self.kits.append(Kit2)
        with self.assertRaises(NameError):
            Kit('Kit2', '.', -3)
        with self.assertRaises(IndexError):
            Kit('Kit3', '.', -2)
        self.assertEqual(self.kits.Kit1, Kit1)
        self.assertEqual(self.kits[0], Kit1)
        self.assertEqual(self.kits.Kit2, Kit2)
        self.assertEqual(self.kits[1], Kit2)
if __name__ == '__main__':
    _t.main()

test_project_path выставлен в {PROJECT_DIR}/source

вывод:

 EE.
======================================================================
ERROR: test for proper raising errors
----------------------------------------------------------------------
Traceback (most recent call last):
  File "F:\Leo Percussion\source\test_kits_config.py", line 23, in test_errors
    self.kit.zones
  File "F:\Leo Percussion\source\kits_config.py", line 62, in zones
    self._check_actuality()
  File "F:\Leo Percussion\source\kits_config.py", line 51, in _check_actuality
    self.update_sample_zones()
  File "F:\Leo Percussion\source\kits_config.py", line 38, in update_sample_zones
    with open(self._nka_path + self.name + '.nka') as f:
FileNotFoundError: [Errno 2] No such file or directory: 'testdata/TestKit.nka'
======================================================================
ERROR: test contents of arrays
----------------------------------------------------------------------
Traceback (most recent call last):
  File "F:\Leo Percussion\source\test_kits_config.py", line 33, in test_lists
    self.assertEqual(len(self.kit.zones), len(self.kit.names))
  File "F:\Leo Percussion\source\kits_config.py", line 62, in zones
    self._check_actuality()
  File "F:\Leo Percussion\source\kits_config.py", line 51, in _check_actuality
    self.update_sample_zones()
  File "F:\Leo Percussion\source\kits_config.py", line 38, in update_sample_zones
    with open(self._nka_path + self.name + '.nka') as f:
FileNotFoundError: [Errno 2] No such file or directory: 'testdata/TestKit.nka'
-------------------- >> begin captured stdout << ---------------------
F:\Leo Percussion\source\test_kits_config.py
--------------------- >> end captured stdout << ----------------------
----------------------------------------------------------------------
Ran 3 tests in 0.054s
FAILED (errors=2)
[Finished in 0.4s with exit code 1]
[shell_cmd: nosetests  ./source]
[dir: F:\Leo Percussion]

Простите, чего-то башка не варит, куда прописать, чтоб пути были правильные?
Пробовал доставать абсолютный путь через path.dirname(path.abspath(__file__)), но там вообще какие-то черти с кодировкой полезли….

Прикреплённый файлы:
attachment 2018-12-10_00-21-29.png (12,9 KБ)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version