我有一个Python模块,可以对我编写的模块执行单元测试。单元测试放在名为tests的文件夹中,我测试的模块是上面的一个目录。所以,我的单元测试文件有以下标题。
import unittest
import sys
sys.path.append('../')
import table_builder
但是当我提到这个单元测试代码时,我收到以下错误:
No config file found, using default configuration
************* Module unittests_table_builder
E: 9, 0: Unable to import 'table_builder' (import-error)
C: 9, 0: Import "import table_builder" should be placed at the top of the module (wrong-import-position)
------------------------------------------------------------------
Your code has been rated at 4.55/10 (previous run: 4.55/10, +0.00)
我该如何解决这个问题?
答案 0 :(得分:0)
如果从命令行调用测试程序,它将自动为您更新sys.path
,而无需在测试中执行此操作。使用test discovery模式,它将在目录树中找到并运行所有测试。也可以进行单独的测试。
$ python -m unittest discover -s project_directory -p "*_test.py"
您还可以使用relative import语法从父模块导入:
from .. import my_module