ctrl+shift+p filters: :st2 :st3 :win :osx :linux
浏览

Py​Test

by kaste 全部

Sublime Text 的 pytest 运行器和视图标注器

详细信息

  • 0.9.0
    0.8.11
  • github.​com
  • github.​com
  • 4 个月前
  • 2 小时前
  • 7 年前

安装次数

  • 总数 5K
  • Win 3K
  • Mac 1K
  • Linux 1K
8 月 6 日 8 月 5 日 8 月 4 日 8 月 3 日 8 月 2 日 8 月 1 日 7 月 31 日 7 月 30 日 7 月 29 日 7 月 28 日 7 月 27 日 7 月 26 日 7 月 25 日 7 月 24 日 7 月 23 日 7 月 22 日 7 月 21 日 7 月 20 日 7 月 19 日 7 月 18 日 7 月 17 日 7 月 16 日 7 月 15 日 7 月 14 日 7 月 13 日 7 月 12 日 7 月 11 日 7 月 10 日 7 月 9 日 7 月 8 日 7 月 7 日 7 月 6 日 7 月 5 日 7 月 4 日 7 月 3 日 7 月 2 日 7 月 1 日 6 月 30 日 6 月 29 日 6 月 28 日 6 月 27 日 6 月 26 日 6 月 25 日 6 月 24 日 6 月 23 日 6 月 22 日
Windows 0 0 0 0 2 0 1 1 3 0 2 0 0 0 2 1 1 0 2 0 0 0 0 0 0 0 0 1 2 0 0 0 0 1 1 0 0 0 0 1 1 1 0 1 1 1
Mac 1 1 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 1 6 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0
Linux 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 2 1 0 0 2 0 0 0 0 1 0

README

源码
raw.​githubusercontent.​com

Sublime Text 的 pytest 集成

此插件运行您的测试并在失败时使用回溯来标注您的文件。

常见工作流程

默认设置:它将在保存时运行您的测试;它将不会显示输出面板,而是在失败时标注视图。如下所示

annotated view showing phantom

它将运行哪个测试取决于上次运行的红色/绿色状态以及您是否正在编辑测试文件或实现文件。它应该运行得很好。如果认为这是愚蠢的,请设置 "mode": "manual" 并使用自己的快捷键绑定。请参阅 Default.sublime-commands 中的示例。

配置

至少 看看 全局设置。您通常需要编辑 pytest 设置以指向您当前的虚拟环境中的 py.test(默认为运行全局 py.test,这通常 不是 您想要的)。例如。

"pytest": "~/venvs/{project_base_name}/bin/py.test"
OR:
"pytest": ".env\\Scripts\\py.test"
OR even:
"pytest": ["venv/path/to/python", "-m", "pytest"]

插件将像往常一样展开 ${project_path},${project_base_name},${file} 等。它将尊重您的 project-settings,如

{
  "folders":
  [
    {
      "path": "."
    }
  ],
  "settings": {
    "PyTest": {
      "mode": "auto",
      "options": "--tb=short -l -ff",
    },
  }
}

您可能应该添加一个快捷键来快速显示/隐藏输出面板。

{ "keys": ["ctrl+'"], "command": "pytest_toggle_panel" },

也许需要添加一个快捷键来运行光标下的测试

{ "keys": ["ctrl+shift+'"], "command": "pytest_run_test_under_cursor"},

但是此命令也通过上下文菜单可用。

第三个最有用的快捷键可能是

{ "keys": ["ctrl+alt+'"], "command": "pytest_toggle_phantoms"},

快速显示/隐藏标注(在 Sublime 术语中为'幻影'),因为这些可以在有很多失败或通常有大堆回溯时变得相当烦人。

您可以通过命令(ctrl+shift+p 并开始键入 pytest deactivate)禁用此插件。然后此设置将保留在您的项目设置中(如果有的话)。

安装

最终用户只需通过使用 Package Control 并搜索 PyTest 进行正常安装。

黑客可以手动从 GitHub 下载/克隆并将其放入您的 Packages 目录。之后,您必须运行 Package Control: Satisfy Dependencies 以拉取 lxml

当然,您也可以将它添加到 Package Control 中。

  1. 打开命令面板(ctrl+shift+p),找到 Package Control: Add Repository。然后在输入字段中输入此仓库的 URL:https://github.com/kaste/PyTest
  2. 再次打开命令面板,找到 Package Control: Install Package,只需搜索 PyTest 即可。(普通安装)

手动主题调整

该插件尝试调整您的主题,以便在每次测试运行后都会获得一个绿色/红色的通知。(您可以通过设置来禁用此功能。)如果不起作用,请考虑手动调整:您确实应该将以下内容添加到

{
    "class": "status_bar",
    "settings": ["pytest_is_red"],
    "layer0.tint": [155, 7, 8], // -RED
},

到您的 .sublime-theme 中,以便在失败的情况下 early flash 状态栏。

同样,添加

{
    "class": "status_bar",
    "settings": ["pytest_is_green"],
    "layer0.tint": [8, 131, 8], // -GREEN
},
{
    "class": "label_control",
    "settings": ["pytest_is_green"],
    "parents": [{"class": "status_bar"}],
    "color": [19, 21, 32],
},

以获取绿色状态栏通知。将这些样式 末尾添加 到您的主题文件末尾,至少它们必须在默认的 status_bar 样式之后,因为这些样式通常是从上往下一一应用。有关如何自定义主题的更多信息,请参阅这里

必需的 GIF

common workflow