当导入的函数以 self 作为参数时如何在 pytest 中传递 self
How to pass self in pytest when imported function takes self as argument
假设我有一个函数存储在 file.py
class temp_class:
def __init__(self):
self.x = None
def temp_function(self , input):
self.x = input
return input+1
我想在temp_function
上写一个pyest
import pytest
from file.temp_class import temp_function
def test_temp:
input_ = 1
expected_ = 2
result_ = temp_function(self, input_)
assert result_ == expected_
这个应该怎么写
这是一个XY problem。您不能单独导入class方法,您必须导入class。
代码:
import pytest
from file import temp_class
def test_temp():
input_ = 1
expected_ = 2
ins = temp_class()
result_ = ins.temp_function(input_)
print(result_)
assert result_ == expected_
test_temp()
结果:
2
假设我有一个函数存储在 file.py
class temp_class:
def __init__(self):
self.x = None
def temp_function(self , input):
self.x = input
return input+1
我想在temp_function
上写一个pyestimport pytest
from file.temp_class import temp_function
def test_temp:
input_ = 1
expected_ = 2
result_ = temp_function(self, input_)
assert result_ == expected_
这个应该怎么写
这是一个XY problem。您不能单独导入class方法,您必须导入class。
代码:
import pytest
from file import temp_class
def test_temp():
input_ = 1
expected_ = 2
ins = temp_class()
result_ = ins.temp_function(input_)
print(result_)
assert result_ == expected_
test_temp()
结果:
2