import pytest
import smtplib
@pytest.fixture(scope="module")
def smtp(request):
server = getattr(request.module, "smtpserver", "smtp.gmail.com")
smtp = smtplib.SMTP(server)
def fin():
print ("finalizing %s (%s)" % (smtp, server))
smtp.close()
request.addfinalizer(fin)
return smtp
这段代码是用来做teardown的,但是不知道为什么能够做teardown呢?
还有代码里面的
return smtp
是什么意思呢,闭包函数的话这里不是应该返回
return fin
吗?
希望老师能给解答一下,谢谢!