当前位置: 首页 > 面试题库 >

Python:如何为子目录中的所有源文件运行unittest.main()?

闽念
2023-03-14
问题内容

我正在开发一个具有几个源文件的Python模块,每个文件都有自己的源于unittest的测试类。考虑目录结构:

dirFoo\
    test.py
    dirBar\
        __init__.py
        Foo.py
        Bar.py

要测试Foo.py或Bar.py,我将其添加到Foo.py和Bar.py源文件的末尾:

if __name__ == "__main__":
    unittest.main()

并在任一源上运行Python,即

$ python Foo.py
...........
----------------------------------------------------------------------
Ran 11 tests in 2.314s

OK

理想情况下,我将让“ test.py”自动搜索dirBar以查找任何unittest派生类,并调用一次“
unittest.main()”。在实践中最好的方法是什么?

我尝试使用Python为dirBar中的每个*
.py文件调用execfile,该文件对于找到的第一个.py文件运行一次,并退出调用test.py,再加上我必须通过添加unittest.main()复制代码每个源文件-
违反DRY原则。


问题答案:

我知道有一个明显的解决方案:

dirFoo\
    __init__.py
    test.py
    dirBar\
        __init__.py
        Foo.py
        Bar.py

dirFoo / test.py的内容

from dirBar import *
import unittest

if __name__ == "__main__":

    unittest.main()

运行测试:

$ python test.py
...........
----------------------------------------------------------------------
Ran 11 tests in 2.305s

OK


 类似资料:
  • 问题内容: 我想在当前位置的子目录之间进行迭代,并分别gzip每个文件。为了在目录中压缩文件,我使用 但这仅适用于当前目录,而不适用于当前目录的子目录。如何重写以上语句,以便也将所有子目录中的文件压缩? 问题答案: 不需要循环或除和以外的任何东西: 这将查找当前目录中及其下所有名称不以扩展名结尾的常规文件(即,所有尚未压缩的文件)。它分别在每个文件上调用。 编辑的基础上,从评论: 花括号()替换为

  • 问题内容: 如何在Python中列出目录的所有文件并将其添加到中list? 问题答案: 使用Python 2和3获取文件列表 os.listdir() 如何获取当前目录中的所有文件(和目录)(Python 3) 以下是在Python 3中使用 和函数仅检索当前目录中文件的简单方法。进一步的探索将演示如何返回目录中的文件夹,但你不会在子目录中拥有该文件,因此可以使用步行-稍后讨论)。 glob 我发

  • 源代码是一个Java Maven项目。 Java resources目录包含包含配置文件的子目录。配置文件可以作为维护过程添加和删除。不应知道的文件名。 我如何获得一个提到的项目“资源”目录中的所有文件的列表? 路径是“resources”目录中的文件夹名。

  • 问题内容: 列出1000多个目录和子目录中文件名的最快方法是什么? 编辑; 我使用的当前代码是: 问题答案: 看起来不错(递归遍历目录)瓶颈将是您需要执行的所有文件I / O操作,优化Java不会显示任何实际改进。

  • 问题内容: 我在hdfs中有一个文件夹,其中有两个子文件夹,每个文件夹有大约30个子文件夹,最后每个子文件夹都包含xml文件。我想列出所有仅提供主文件夹路径的xml文件。在本地,我可以使用apache commons-io的 FileUtils.listFiles()执行此操作。我已经试过了 但是它仅列出了前两个子文件夹,并且没有进一步介绍。有什么办法可以在Hadoop中做到这一点? 问题答案:

  • 所以我开始使用Neovim /Spacevim,它真是太棒了! 我仍然在习惯一切,因为我以前从未使用过Vim或类似的东西。 我的问题围绕着在当前打开的项目的所有文件中搜索特定文本。 我正在使用文件管理器,我想知道如何在项目中的所有文件中搜索特定字符串。就像如果我想在当前打开的文件夹/目录中搜索,我该如何去做?主要目标是列出包含此搜索字符串的所有文件。 我已经安装了(以及),但在搜索所有文件中的特定