我正在创建一个Python包/库。我的目录结构如下所示:
my_package/
|-- my_package/
| |-- tests/
| | |-- __init__.py
| | |-- my_tests.py
| |
| |-- __init__.py
| |-- main.py
|
|-- setup.py
我的所有功能都在主.py文件:
def sum_nums(a,b):
res = a + b
return(res)
def mult_nums(a,b):
res = a * b
return(res)
def sub_nums(a,b):
res = a - b
return(res)
我的_测试.py如下所示:
from unittest import TestCase
import my_package
def test_sum():
assert sum_nums(3,4) == 7
def test_mult():
assert mult_nums(3,4) == 12
def test_sub():
assert sub_nums(3,4) == -1
当我从包根目录运行测试时,如下所示:
python setup.py test
。。。我得到以下错误:
NameError: name 'sum_nums' is not defined
测试不应该在包中,所以将它向上移动一个目录。例如,参见sanic或github中的任何其他模块。您的函数需要在init.py中可用。你可以像sanic那样导入它们。你知道吗
https://github.com/huge-success/sanic
你还需要
或者以我的包为前缀。你知道吗
您需要指出被测试的函数是针对
my_package
包的,比如:相关问题 更多 >
编程相关推荐