[英]ImportError: cannot import name 'myClass' from 'myModule': where did I mess up?
我正在嘗試使用Python進行單元測試,但是我已經嚴重超出了實踐范圍,並且遇到了導入方面的問題。
自從我做Python以來已經很長時間了,我也試圖進入單元測試。 直到最近我大部分時間都在使用bash,所以我可能忽略了一些東西。 它在Python 3上,但是我認為版本最終沒有關系。 只顯示相關代碼。
Directory structure:
myProject/
|
\keter/
| |-keter.py
| |-__init__.py
|
\tests/
| |- test_first.py
在keter.py中
import os
import zipfile
import re
import xml.dom.minidom
class Converter:
def my_function(params):
#do stuff
在test_first.py中
import unittest
import sys
sys.path.append('../')
from keter import Converter
class TestConverter(unittest.TestCase):
def test_instantiate(self):
my_converter = Converter()
self.assertIsInstance(my_converter,Converter)
在嘗試運行測試時...
$ python -m unittest discover
E
======================================================================
ERROR: test_first (unittest.loader._FailedTest)
----------------------------------------------------------------------
ImportError: Failed to import test module: test_first
Traceback (most recent call last):
File "path_to_python\lib\unittest\loader.py", line 436, in _find_test_path
module = self._get_module_from_name(name)
File "path_to_python\lib\unittest\loader.py", line 377, in _get_module_from_name
__import__(name)
File "path_to_project\tests\test_first.py", line 5, in <module>
from keter import Converter
ImportError: cannot import name 'Converter' from 'keter' (..\keter\__init__.py)
----------------------------------------------------------------------
Ran 1 test in 0.000s
FAILED (errors=1)
嘗試像這樣更改您的test_first.py。
import unittest
import sys
sys.path.append('../')
import keter
class TestConverter(unittest.TestCase):
def test_instantiate(self):
my_converter = keter.Converter()
self.assertIsInstance(my_converter,Converter)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.