更好的 python 单元测试集成?

Better python unittest integration?

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

test=spi.test_views.IndexViewTest.generate_select2_data_with_embedded_spaces  make test

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

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

test=spi.test_views.IndexViewTest.test_unknown_button make test

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

这似乎已经有人发明了,但我在 python 模式文档中没有看到任何内容。

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

 C-c C-t (elpy-test)

Start a test run. This uses the currently configured test runner to discover
and run tests. If point is inside a test case, the test runner will run exactly
that test case. Otherwise, or if a prefix argument is given, it will run all tests.

额外的细节

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

参见例如以下屏幕截图中的 code/help 摘录: