我有一个 python 模块,例如:myexample.py 包含以下内容。
import os, sys
class nw_clss():
def new_func():
/*some statements*/
def main():
main(some arguments)
现在正在编写一个单元测试框架,我需要在 myexample.py 中调用一些单独的函数。然而,由于 myexample.py 中有一个 main 方法,每当我试图调用一个单独的函数时,框架实际上是在调用 main 方法并执行 myexample.py 中的所有可用方法
有没有可能覆盖它并只调用各个方法。
谢谢,阿琼
这是目的
if __name__ == '__main__':
main()
你可能不时看到。
当你直接运行一个模块时,它的__name__
变量将是'__main__'
,但如果由另一个模块导入它会有所不同,所以像这样的块中的代码只会在直接运行该模块时执行。
编辑:澄清一下,你想要的是
import os, sys
class nw_clss():
def new_func():
/*some statements*/
def main():
pass
if __name__ == '__main_':
main(some arguments)
编辑2:来自评论
在您的单元测试模块中,如果您只想测试模块的 1 部分(例如类),您只能导入:
from myexample import nw_clss
这不会运行整个模块。编写具有良好实践的代码不太好,但是如果出于某种原因编写原始代码的人不会让您这样做,那么我想这就是您必须做的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句