2016-03-04 44 views
5

Używam Emacsa i pocisku i próbuję ustawić ścieżkę do pliku testowego, aby móc używać projectile-toggle-between-implementation-and-test.Jak korzystać z pliku testowego wyszukiwania pocisków

Wzywam M-xpocisk znalezienia-test-plik ale bufor Helm jest pusty. Cokolwiek umieszczę w polu pattern, żaden plik nie pojawia się w buforze Helma, aby wybrać i wprowadzić ścieżkę pliku testowego względem katalogu głównego projektu, tylko powoduje otwarcie bufora Dired w katalogu głównym projektu.

Proszę doradzić, jak korzystać projectile-find-test-file

Odpowiedz

6

projectile zgaduje nazwę pliku testowego, podając plik źródłowy, dodając sufiks/prefiks do pliku źródłowego. Na przykład, jeśli masz hello.rb, spróbujesz znaleźć plik o nazwie hello_test.rb w swoim projekcie.

Domyślnie ma pewne reguły, które są mapowane z typu projektu na testowy sufiks/prefiks. Oto rzeczywisty kod:

(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"))) 

Jeśli nie widzisz nic projectile-find-test-file oznacza, że ​​najprawdopodobniej nie może znaleźć coś związanego z pliku źródłowego przez dodanie przyrostka/prefiks.

Można to dostosować za pomocą projectile-test-suffix-function. Domyślnie zmienna wskazuje na powyższą funkcję, ale można ją zastąpić własnymi regułami.

3

To nie jest wielki odpowiedź na swoje pytanie, ale projectile-find-test-file właśnie wisi na mnie, zanim jeszcze dostał wiersz. Nie mam ochoty, aby dowiedzieć się, co dzieje się tam tak po prostu stworzony:

(defun my-test-prefix (project-type) "test_") 

i dostosowane projectile-test-function-prefix się wskazywać na to. To sprawiło, że projectile-toggle-between-implementation-and-test pracowało dla mnie, co jest wszystkim, czego naprawdę potrzebowałem.