2016-03-04 20 views
5

Sto utilizzando Emacs e il proiettile e sto provando a impostare il percorso di un file di test in modo da poter utilizzare projectile-toggle-between-implementation-and-test.Come utilizzare proiettile-find-test-file

io chiamo M-xproiettile-trovare-test-file di ma il buffer Helm è vuoto. Qualunque cosa inserisca nel campo pattern, nessun file appare nel buffer Helm per selezionare e inserire il percorso del file di test relativo alla radice del progetto, solo per far aprire un buffer Dired alla radice del progetto.

Si prega di avvisare come utilizzare projectile-find-test-file

risposta

6

projectile indovina il nome del file di test fornito un file di origine aggiungendo suffisso/prefisso al file di origine. Ad esempio, se hai un hello.rb, prova a trovare un file chiamato hello_test.rb nel tuo progetto.

Per impostazione predefinita dispone di alcune regole che mappano dal tipo di progetto per testare il suffisso/prefisso. Ecco il codice vero e proprio:

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

Se non vedi nulla in projectile-find-test-file che significa molto probabilmente non è possibile trovare tutto ciò che riguarda il file di origine aggiungendo il suffisso/prefisso.

Questo può essere personalizzato tramite projectile-test-suffix-function. Di default la variabile punta alla funzione sopra, ma puoi sostituirla con le tue regole.

3

Questa non è una grande risposta alla tua domanda, ma projectile-find-test-file era appena appeso per me prima ho anche avuto un prompt. Non ho avuto la tendenza a capire cosa stava succedendo lì, ho appena creato:

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

e personalizzato projectile-test-function-prefix per puntare a questo. Questo ha ottenuto il projectile-toggle-between-implementation-and-test per me, che è tutto ciò di cui avevo davvero bisogno.