0
当我使用unittest运行此代码时,get_page()
方法中的print(self.req.text)
语句按预期工作,但get_html()
方法中的该语句产生错误AttributeError: 'NoneType' object has no attribute 'text'
。我想知道这是为什么。我是否犯了一个错误,或者是否有与请求响应有关的问题,这意味着他们无法按照我尝试的方式存储在课堂中?如果是这样,阅读软件包文档对我来说并不明显。非常感谢。在类方法之间请求对象持久性
from . import helpers
import requests, bs4
class Page(object):
"""Page """
def __init__(self, url=None):
self.url = url
self.req = None
self.html = None
self.soup = None
def get_page(self, url):
self.req = requests.get(url)
print(self.req.text) # This works
return self.req
def get_html(self):
print(self.req.text) # This errors
self.html = self.req.text
return self.html
你打电话之前''get_page' get_html'?否则'self.req'还没有设置。 – CoryKramer
谢谢。我想我现在明白了:这是因为unittest为每个测试运行setUp和tearDown,而不是我错误地认为的每一类测试。谢谢 – curlew77