我正在使用Emacs和子弹并尝试设置测试文件的路径,以便我可以使用projectile-toggle-between-implementation-and-test
。如何使用弹丸发现测试文件
我打电话M-X弹丸发现测试文件但头盔缓冲区为空。无论我在pattern
字段中输入了什么内容,Helm缓冲区中没有任何文件选择并输入相对于项目根目录的测试文件路径,只会导致在项目根目录打开Dired缓冲区。
请告知如何使用projectile-find-test-file
我正在使用Emacs和子弹并尝试设置测试文件的路径,以便我可以使用projectile-toggle-between-implementation-and-test
。如何使用弹丸发现测试文件
我打电话M-X弹丸发现测试文件但头盔缓冲区为空。无论我在pattern
字段中输入了什么内容,Helm缓冲区中没有任何文件选择并输入相对于项目根目录的测试文件路径,只会导致在项目根目录打开Dired缓冲区。
请告知如何使用projectile-find-test-file
projectile
通过向源文件中添加后缀/前缀来猜测给定源文件的测试文件名。例如,如果您有hello.rb
,那么它会尝试在您的项目中找到名为hello_test.rb
的文件。
它默认有一些从项目类型映射到测试后缀/前缀的规则。下面是实际的代码:
(defun projectile-test-suffix (project-type)
"Find default test files suffix based on PROJECT-TYPE."
(cond
((member project-type '(rails-rspec ruby-rspec)) "_spec")
((member project-type '(rails-test ruby-test lein-test go)) "_test")
((member project-type '(scons)) "test")
((member project-type '(maven symfony)) "Test")
((member project-type '(gradle grails)) "Spec")))
如果你没有看到在projectile-find-test-file
任何东西,这意味着它很可能无法找到通过添加后缀/前缀与源文件什么。
这可以通过projectile-test-suffix-function
定制。默认情况下,变量指向上面的函数,但您可以使用自己的规则覆盖它。
这是不是一个伟大的回答你的问题,但projectile-find-test-file
只是挂了我之前,我甚至有一个提示。我没有倾斜弄清楚发生了什么事情在那里,所以我刚刚创建:
(defun my-test-prefix (project-type) "test_")
和定制projectile-test-function-prefix
指向这一点。这得到projectile-toggle-between-implementation-and-test
为我工作,这是我真正需要的。