Как использовать 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 работать на меня, и это все, что мне действительно нужно.

Другие вопросы по тегам