我有模块report_generator.py,
from datetime import datetime
def prepart_report():
# some code to generate report
report_name = 'my_report_{}.xlsx'.format(started_at)
if __name__ == '__main__':
started_at = datetime.now()
log_file_name = 'my_repot_{}.log'.format(started_at)
'started_at' 用于日志文件名和报告文件名的全局变量。
测试模块 test_report_generator.py,
import report_generator
class TestReportGenerator(unittest.TestCase):
def test_prepare_report(self):
started_at = datetime.now()
with path.object(report_generator, 'started_at', started_at):
report_generator.prepare_report()
在测试用例中,我试图修补started_at变量。我收到模块没有属性“started_at”错误。错误的原因是当我在测试用例模块中导入我的模块时__ name__不会是"__ main__"。那么,我该如何修补这个或者为此编写测试用例的最佳方法是什么,
按照我通过谷歌搜索找到的解决方案,
由于该属性不存在,您可以设置它。
import report_generator
class TestReportGenerator(unittest.TestCase):
def test_prepare_report(self):
started_at = datetime.now()
report_generator.started_at = started_at
report_generator.prepare_report()
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句