在 pytest 中使用另一个文件中的函数和类是一个常见的需求,这有助于代码的组织和重用。以下是如何实现这一点的详细步骤:
import
语句将其他文件中的函数和类导入到当前文件中。假设你有两个文件:utils.py
和 test_example.py
。
# utils.py
def add(a, b):
return a + b
class Calculator:
def multiply(self, a, b):
return a * b
# test_example.py
import pytest
from utils import add, Calculator
def test_add():
assert add(1, 2) == 3
def test_calculator_multiply():
calc = Calculator()
assert calc.multiply(3, 4) == 12
原因:Python 解释器找不到 utils
模块。
解决方法:
utils.py
文件与 test_example.py
文件在同一目录下。utils.py
所在的目录在 Python 的 sys.path
中。# 在 test_example.py 中添加以下代码
import sys
sys.path.append('/path/to/utils')
原因:当前文件或导入的模块中有相同的函数或类名。
解决方法:
as
关键字为导入的函数或类指定别名。from utils import add as utils_add
from utils import Calculator as UtilsCalculator
通过以上步骤,你可以在 pytest 中轻松使用另一个文件中的函数和类。
领取专属 10元无门槛券
手把手带您无忧上云