【问题标题】:Better python unittest integration?更好的 python unittest 集成?
【发布时间】:2021-02-03 21:03:23
【问题描述】:

我正在使用 GNU Emacs 24.5.1 来处理 Python 代码。我经常只想运行一个单元测试。例如,我可以通过运行:

test=spi.test_views.IndexViewTest.generate_select2_data_with_embedded_spaces  make test

使用 M-X 编译。如果我可以给出一些命令,例如“在点所在的位置运行测试”,并让 emacs 为我找出测试的全名,我的生活会更简单。有可能吗?

更新:使用以下缓冲区,我想要一些运行 M-X 编译的命令:

test=spi.test_views.IndexViewTest.test_unknown_button make test

其中 spi 是 test_views.py 所在目录的名称。嗯,从技术上讲,我需要构建我的测试函数的 python 路径,但实际上,它将是 .

这似乎是有人已经发明的那种东西,但我在 python 模式文档中没有看到任何内容。

【问题讨论】:

  • 一切皆有可能,你只需要编写代码。
  • 好的,让我们再试一次:您能否编辑您的问题以显示您想要调用测试时所在的缓冲区?
  • 虽然不是离题,但您可能会在 emacs.stackexchange.com 上得到更好的答案。

标签: python emacs elpy


【解决方案1】:

我相信您使用“默认”python 模式,而所谓的elpy mode(我强烈建议在 Emacs 中进行 Python 开发时尝试一下)似乎提供了您正在寻找的东西:

C-c C-t (elpy-test) 开始试运行。这使用当前配置的测试运行器来发现 并运行测试。如果点在测试用例中,则测试运行器将准确运行 那个测试用例。否则,或者如果给出了前缀参数,它将运行所有测试。

额外细节

elpy-test 函数内部依赖于函数(elpy-test-at-point),这似乎与您在问题中提到的功能非常接近。

参见例如以下屏幕截图中的代码/帮助摘录:

【讨论】:

  • 酷,elpy 正是我想要的。在我的原始帖子中没有说明这些是 django 测试,因此它们需要使用 elpy 实际上知道如何操作的 django 测试运行器(M-X elpy-set-test-runner)运行!非常整洁,谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-03
  • 2013-07-09
  • 2022-08-22
  • 1970-01-01
相关资源
最近更新 更多