Как я могу писать unittests в Python (3.4), которые не зависят от каких-либо материалов django?Python unit testing без django
Сначала я думал, что PyCharm сделал как-то искусственно добавить зависимости Джанго моего UnitTests, но потом я проверил, просто выдав
python <test containing file>
И я все еще получаю этот странный вывод Джанго:
Traceback (most recent call last):
File "test_pinyinTones2NumbersTransformer.py", line 2, in <module> from PinyinTones2NumbersTransformer import PinyinTones2NumbersTransformer
File "/home/xiaolong/PycharmProjects/PinyinTransformer/pinyintransformer/PinyinTones2NumbersTransformer.py", line 1, in <module> from django.contrib.gis.gdal.prototypes.generation import void_output
ImportError: No module named 'django'
Здесь является моим исходным кодом тестового файла:
import unittest
from PinyinTones2NumbersTransformer import PinyinTones2NumbersTransformer
class TestPinyinTones2NumbersTransformer(unittest.TestCase):
def setUp(self):
self.pinyin_tones_2_numbers_transformer = PinyinTones2NumbersTransformer()
def test_setText (self):
self.fail()
def test_transform (self):
self.fail()
def test_getToneNumberOfTonedSyllable (self):
self.assertEquals(self.pinyin_tones_2_numbers_transformer.getToneNumberOfTonedSyllable("ne"), 0)
self.assertEquals(self.pinyin_tones_2_numbers_transformer.getToneNumberOfTonedSyllable("ān"), 1)
self.assertEquals(self.pinyin_tones_2_numbers_transformer.getToneNumberOfTonedSyllable("péng"), 2)
self.assertEquals(self.pinyin_tones_2_numbers_transformer.getToneNumberOfTonedSyllable("nǐ"), 3)
self.assertEquals(self.pinyin_tones_2_numbers_transformer.getToneNumberOfTonedSyllable("jiào"), 4)
Мой проект имеет abso не имеет ничего общего с джанго. Раньше я пробовал учебник django, но это не имело никакого отношения к тому, что я делаю сейчас. Также я удалил django после просмотра этого сообщения, потому что я подумал, что, возможно, интерпретатор Python путается с django, также имеющим модуль под названием unittest, но это не устраняет проблему.
Я нашел это:
http://stackoverflow.com/questions/10345948/django-vs-python2-7-unittest-testcase
Но прежде всего: Я использую Python 3.4 и я не забочусь о обратной совместимости моих тестов. Никто больше не увидит или даже не сможет использовать мою программу в любом случае. Для меня это всего лишь упражнение, чтобы больше привыкнуть к написанию тестов.
Все, что я хочу сделать, это написать простые тесты для методов в моих классах, без каких-либо бонусов django super mega ... Также я совершенно уверен, что по умолчанию unittests самого Python более чем достаточно для моего маленького проекта.
Прямо сейчас я чувствую себя довольно глупо. Pycharm по какой-то немыслимой причине ввел импорт django в файл, но я не мог этого видеть, потому что каким-то образом я смог открыть тот же файл дважды в Pycharm, и я видел версию без импорта django. Но почему??? он вставлял импорт django ?! -.- Спасибо в любом случае, вы решили загадку. – Zelphir