1

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

test=spi.test_views.IndexViewTest.generate_select2_data_with_embedded_spaces  make test

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

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

test=spi.test_views.IndexViewTest.test_unknown_button make test

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

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

在此处输入图像描述

4

1 回答 1

1

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

抄送 Ct(elpy 测试)

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

额外细节

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

请参阅以下屏幕截图中的代码/帮助摘录:

elpy测试

于 2021-02-09T23:48:09.247 回答