以下のコードを実行すると、
E TypeError:バインドされていないメソッドmake_request()は、最初の引数としてAインスタンスを使用して呼び出す必要があります(代わりにstrインスタンスを取得します)
make_requestメソッドを静的に設定したくないので、オブジェクトのインスタンスから呼び出したいと思います。
例 http://pytest.org/latest/fixture.html#fixture-function
# content of ./test_smtpsimple.py
import pytest
@pytest.fixture
def smtp():
import smtplib
return smtplib.SMTP("merlinux.eu")
def test_ehlo(smtp):
response, msg = smtp.ehlo()
assert response == 250
assert "merlinux" in msg
assert 0 # for demo purposes
私のコード
""" """
import pytest
class A(object):
""" """
def __init__(self, name ):
""" """
self._prop1 = [name]
@property
def prop1(self):
return self._prop1
@prop1.setter
def prop1(self, arguments):
self._prop1 = arguments
def make_request(self, sex):
return 'result'
def __call__(self):
return self
@pytest.fixture()
def myfixture():
""" """
A('BigDave')
return A
def test_validateA(myfixture):
result = myfixture.make_request('male')
assert result =='result'