是否导入每个测试的moduleundertest而不是模块级导入?

2024-09-27 00:20:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我最近遇到了一些单元测试代码,它在要测试的函数中导入要测试的模块,而不是模块级导入。在

然后,在google上搜索之后,我发现Pylons/Pyramid best practices的原因是“导入失败……不应该阻止那些测试的运行。”

这应该是标准做法吗?在

我觉得有点难看,另外,他们的类示例看起来有点过于工程化了。在


Tags: 模块函数代码pyramid示例标准google原因
1条回答
网友
1楼 · 发布于 2024-09-27 00:20:18

如果导入文件顶部而不是unittest函数中测试的所有模块,则导入错误将阻止测试的任何运行。对此我有两种看法。这取决于你如何运行你的单元测试。在

如果您在命令行上运行测试,或者从Hudson或Jenkins运行测试,那么您将注意到导入错误并立即更正它。在这种情况下,我不认为在模块级别导入所有内容是一个问题。这当然更方便,而且需要更少的重复。在

如果导入错误有可能导致静默失败(例如,如果您的unittest框架甚至不能告诉您它失败,除非它可以导入测试模块),那么在测试函数中导入模块可能更安全。在

相关问题 更多 >

    热门问题