2016-03-04 12 views
5

Tôi đang sử dụng Emacs và đạn và cố gắng đặt đường dẫn đến tệp thử nghiệm để tôi có thể sử dụng projectile-toggle-between-implementation-and-test.Làm thế nào để sử dụng projectile-find-test-file

Tôi gọi M-xprojectile-find-test-file nhưng bộ đệm Helm trống. Bất cứ điều gì tôi đặt trong trường pattern, không có tệp nào xuất hiện trong bộ đệm Helm để chọn và nhập đường dẫn tệp thử nghiệm liên quan đến gốc của dự án chỉ gây ra bộ đệm Dired để mở tại gốc của dự án.

Xin cho biết làm thế nào để sử dụng projectile-find-test-file

Trả lời

6

projectile đoán tên tệp thử nghiệm được cung cấp cho tệp nguồn bằng cách thêm hậu tố/tiền tố vào tệp nguồn của bạn. Ví dụ: nếu bạn có hello.rb thì nó sẽ tìm một tệp có tên hello_test.rb trong dự án của bạn.

Theo mặc định, có một số quy tắc ánh xạ từ loại dự án để kiểm tra hậu tố/tiền tố. Đây là mã thực tế:

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

Nếu bạn không nhìn thấy bất cứ điều gì trong projectile-find-test-file đó có nghĩa là nhiều khả năng nó không thể tìm thấy bất cứ điều gì liên quan đến tập tin nguồn của bạn bằng cách thêm hậu tố/tiền tố.

Điều này có thể được tùy chỉnh qua projectile-test-suffix-function. Theo mặc định, biến này trỏ đến hàm ở trên, nhưng bạn có thể ghi đè lên bằng các quy tắc của riêng mình.

3

Đây không phải là một câu trả lời tuyệt vời cho câu hỏi của bạn, nhưng projectile-find-test-file chỉ treo cho tôi trước khi tôi thậm chí còn có một dấu nhắc. Tôi không có khuynh hướng để tìm hiểu những gì đang diễn ra ở đó nên tôi vừa tạo:

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

và tùy chỉnh projectile-test-function-prefix để chỉ vào điều đó. Điều đó có được projectile-toggle-between-implementation-and-test làm việc cho tôi, đó là tất cả những gì tôi thực sự cần.

Các vấn đề liên quan