我正在编写一个单元测试来确定在我的解析器对象的实例化过程中是否正确设置了一个属性。不幸的是,我能想到的唯一方法是使用 self.assertTrue(p.soup)
我有一段时间没有使用任何 python,但这似乎不是检查实例属性是否正确设置的一种非常清晰的方法。关于如何改进它的任何想法?
这是我的测试课:
class ParserTest(unittest.TestCase):
def setUp(self):
self.uris = ctd.Url().return_urls()
self.uri = self.uris['test']
def test_create_soup(self):
p = ctd.Parser(self.uri)
self.assertTrue(p.soup)
if __name__ == '__main__':
unittest.main()
# suite = unittest.TestLoader().loadTestsFromTestCase(UrlTest)
unittest.TextTestRunner(verbosity=2).run(suite)
这是我正在测试的 Parser 类
class Parser():
def __init__(self, uri):
self.uri = uri
self.soup = self.createSoup()
def createSoup(self):
htmlPage = urlopen(self.uri)
htmlText = htmlPage.read()
self.soup = BeautifulSoup(htmlText)
return BeautifulSoup(htmlText)
在过去的几年里,我陷入了不进行单元测试的坏习惯,所以我对这个话题还很陌生。任何可以深入了解 Python 中的单元测试的好资源都将不胜感激。我查看了标准库 unittest 文档,但这并没有太大帮助......