【发布时间】:2015-04-30 17:01:51
【问题描述】:
我用 Python 编写了一个软件,它进行了大量的解析和将文件写入磁盘。我开始编写单元测试,但不知道如何对仅将一些数据写入磁盘且不返回任何内容的函数进行单元测试。
我熟悉 unittest 和 ddt。任何建议,甚至是指向我可以了解更多信息的资源的链接都将不胜感激。
【问题讨论】:
-
你没有......有一个返回字符串的函数......然后写入磁盘......这样你就可以断言你得到了预期的字符串......你想要要测试尽可能多地隔离的较低级别的函数(每个函数都尽可能少地执行),那么当你真正写到 dist 时,你所要做的就是 python
open和write工作。 ..这是一个安全的选择,超出了您需要测试的范围 -
啊,那我应该在测试文件上运行解析器,然后检查解析的数据是否匹配某些字符串?
-
将一些确定性的内容写入磁盘然后检查内容是否足够?
-
@gustafbstrom 基于这个问题几乎可以肯定是的......但你真的不需要测试操作系统是否可以写入文件或者
open或write在 python 中工作,你可以相信那个,而且它真的超出了你应该测试的范围......这表明它可能比重构为更小的更模块化的函数更容易 -
非常感谢,但为什么不将您的评论写为答案,以便我将其标记为已回答?
标签: python unit-testing testing functional-testing