【问题标题】:Run a corresponding unit test each time a file is savedPyCharm - 每次保存文件时运行相应的单元测试
【发布时间】:2014-11-16 19:54:41
【问题描述】:

我刚刚切换到使用 PyCharm 作为我的主要 Python 编辑器,我很想知道如何配置它,以便每次保存文件时都会运行与修改后的文件对应的单元测试? (在翻阅文档后,我没有找到关于如何做到这一点的明确解释)

【问题讨论】:

    标签: python ide pycharm


    【解决方案1】:

    当您运行单元测试时,您会得到一个新的单元测试窗口。在此窗口中有一个按钮,您可以在其中打开和关闭自动测试,见下文。您也可以设置自动测试延迟(在同一窗口中查找齿轮图标。

    【讨论】:

    • 该方法是否会在每次保存文件时自动运行单元测试?
    • @AlexanderMarquardt 不,遗憾的是没有。但是,如果您将延迟设置为 3 秒,它在实践中就足够了。
    【解决方案2】:

    您可以尝试File Watchers插件来执行文件修改任务。

    示例配置:

    【讨论】:

    • 但是它的输出是从哪里产生的呢?我看到任务运行,但没有关于测试通过还是失败的更新。
    【解决方案3】:

    这是我决定实现目标的方式。

    我使用文件监视程序 (PyCharm->Preferences->File Watchers) 来监视 python 源文件的修改。源文件位于名为src 的目录中。就我的目的而言,每个单元测试都位于与src 目录平行的目录test_src,其中每个文件src/[file_name].py 将有一个关联的测试文件test_src/test_[file_name].py。单元测试将由py.test 运行。

    为此,我在 File Watchers 对话框中使用以下设置:

    File type: "Python Files"
    Scope: "Only watch files in src directory"
    Program: /usr/local/bin/py.test
    Arguments: $ProjectFileDir$/test_src/test_$FileName$
    Working directory: $ProjectFileDir$
    

    我还取消选中“立即文件同步”,因为我只想在保存文件时运行单元测试。

    请注意,“范围”用于指定将监视哪些文件。

    【讨论】:

      猜你喜欢
      • 2016-01-18
      • 2012-12-27
      • 2016-08-19
      • 2020-10-14
      • 1970-01-01
      • 2014-11-28
      • 1970-01-01
      • 2014-04-08
      • 2015-06-22
      相关资源
      最近更新 更多