методы класса я получаю странные ошибки, когда я бегу nosetests
:Nosetests и
======================================================================
ERROR: Extract test data from tarball.
----------------------------------------------------------------------
TypeError: extract_test_data() missing 1 required positional argument: 'calling_file'
Код в вопросе делится на два файла:
тесты/core.py
class CoreTestCase(unittest.TestCase):
@classmethod
def extract_test_data(cls, calling_file, base='data', name_only=False):
"""Extract test data from tarball.
...
"""
...
испытания /.../ test_this.py
class TestThis(core.CoreTestCase):
"""Run some tests."""
@classmethod
def setUpClass(cls):
cls.TESTDAT_DIR = cls.extract_test_data(__file__)
Импорт и т. Д., Работайте правильно, и unittest
не имеет проблем. Но по какой-то причине nose
искажает вызов.
Я пробовал все следующие:
cls.TESTDAT_DIR = cls.extract_test_data(calling_file=__file__)
cls.TESTDAT_DIR = cls.extract_test_data(cls,__file__)
cls.TESTDAT_DIR = cls.extract_test_data(cls, calling_file=__file__)
но я все еще получаю нечетное assortmenterrors:
TypeError: extract_test_data() got multiple values for argument 'calling_file'
AttributeError: type object 'TestThis' has no attribute 'TESTDAT_DIR'
Try переименованием 'extract_test_data' к чему-то без слова' test' в нем, например 'extract_tst_data'. По умолчанию, nosetests ищет любую функцию/метод со словом 'test' в нем и обрабатывает их как тесты. –