Как использовать projectile-find-test-file
Я использую Emacs и снаряд и пытаюсь установить путь к тестовому файлу, чтобы я мог использовать projectile-toggle-between-implementation-and-test
,
Я вызываю Mxprojectile-find-test-file, но буфер Helm пуст. Что бы я ни положил в pattern
В этом поле в буфере Хелма не отображается файл для выбора и ввода пути к тестовому файлу относительно корня проекта, что приводит к открытию буфера Dired в корне проекта.
Посоветуйте пожалуйста как пользоваться projectile-find-test-file
2 ответа
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
работать на меня, и это все, что мне действительно нужно.