我正在尝试使用断言测试,但似乎导入模块不适合我的代码,除非我做一个非常具体的,但看似相同的(就它实际做什么而言)的方式。
我有一个名为gz.py的文件,它包含以下代码行:
def sumnum(a,b):
return a+b
我还有一个名为test_x.py的文件,它包含以下代码行:
import pytest
from gz import sumnum
def test_sumnum():
assert sumnum(5,6) == 11,'wrong'
给出一个错误,importterror:不能从'gz'导入名称'sumnum'。但如果我直接导入整个模块(即导入gz,然后断言gz.sumnum(5,6) == 11,'错误'),则不会给出此错误。我做错了什么吗?我看到的所有其他帖子都是由于循环进口的原因,但我不认为这是一个问题,是吗?另外,这两种导入方法是不是做的是一样的事情?为什么一个抛出错误而另一个没有?由于
编辑:解决。在尝试运行更改之前,请始终记住保存更改…
在test_x.py
中调用test_sumnum()
函数似乎可以工作。我已经将脚本更新为
import pytest
from gz import sumnum
def test_sumnum():
assert sumnum(5,5) == 11,'wrong'
test_sumnum()
#Output
Traceback (most recent call last):
File "test_x.py", line 6, in <module>
test_sumnum()
File "test_x.py", line 5, in test_sumnum
assert sumnum(5,5) == 11,'wrong'
AssertionError: wrong