2012-06-08 20 views
11

Tôi có một dự án đa mô-đun trong Intellij và tôi có một bộ đồ đạc dưa chuột trong các nguồn thử của một mô-đun con mà tôi muốn sử dụng lại trong một mô-đun khác submodule. Nếu tôi thêm module khác, như là một phụ thuộc thì thư mục ouptut bình thường của nó được thêm vào đường dẫn lớp junit nhưng không được thêm vào kết quả kiểm thử của nó.Trong Intellij có thể cho một mô-đun phụ thuộc vào các thử nghiệm của một mô-đun khác

Có thể có intellij cũng xuất các thư mục kiểm tra mô-đun và cho phép các mô-đun khác sử dụng chúng không?

+0

Kết quả kiểm tra phải được thêm vào đường dẫn lớp. Dự án của bạn có được nhập từ Maven không? – Nik

+0

có thể trùng lặp của [Chia sẻ mã kiểm tra trong Maven] (http://stackoverflow.com/questions/174560/sharing-test-code-in-maven) – thecoop

Trả lời

1

có thể, nhưng bạn nên làm điều này thông qua việc xây dựng tự động của bạn, tức là trong maven, không phải IDE của bạn. nếu bạn xuất bản các thử nghiệm của một mô-đun maven như một phụ thuộc riêng biệt (một cái gì đó mà tôi làm), bạn có thể thêm các jar thử nghiệm như là một dep của module khác. IDEA tất nhiên sẽ xử lý điều này tự động.

http://maven.apache.org/guides/mini/guide-attached-tests.html

+0

rất thích sử dụng maven, nhưng đó không phải là một tùy chọn. Nhờ đề nghị mặc dù. – sgargan

+0

một tùy chọn chỉ bao gồm mọi thứ trong nguồn sản xuất của bạn, hoặc tạo mô-đun "thử nghiệm" có chứa nội dung thử nghiệm trong đường dẫn nguồn ... – ianpojman

+0

Không có cách nào để IntelliJ cho phép các lớp thử nghiệm trong một dự án có thể truy cập được từ các lớp thử nghiệm của một dự án phụ thuộc khác? Ví dụ, chạy và gỡ lỗi thử nghiệm cục bộ thông qua IDE – thecoop

2

Có thể nhưng không đơn giản.

Vì vậy, bạn có Mô-đun-AMô-đun-B.

Mô-đun-BTestClass rằng có lẽ kéo dài một AbstractClass hoặc sử dụng một số những người giúp đỡ tĩnh từ Mô-đun-A

Lưu ý: này sẽ chỉ làm việc trong IntelliJ, nếu bạn là sử dụng maven hoặc gradle bạn sẽ cần phải kiểm tra điều này vẫn sẽ xây dựng ok.

Đây là những gì bạn cần làm.

  1. Chuyển đến cấu dự án ...(Ctrl+Alt+Shift+S - win/linux)
  2. Chuyển đến Modules và Nhìn vào Mô-đun-A 's Đường dẫn Tab
  3. Hãy lưu ý đường dẫn đầu ra Kiểm tra hoặc sao chép này. Nó có thể là một cái gì đó như thế này: C:\dev\projects\myProject\moduleA\build\testclasses hoặc tương tự.
  4. Goto Modules và chọn Module-B và xem Tab phụ thuộc.
  5. Bạn đã có thể có một sự phụ thuộc vào Mô-đun-A ở đây để thời gian biên dịch và thats ok.Click trên + hoặc gõ (Alt+Insert) và thêm một thư viện mới (số 2 vào các tùy chọn)
  6. Trên chọn thư viện màn hình chọn Thư viện mới .... Chọn tùy chọn Java.
  7. Trong hộp thoại bật lên goto thư mục xây dựng bạn đã có ở trên C:\dev\projects\myProject\moduleA\build\testclasses và nhấp vào OK. Bây giờ bạn sẽ có các lớp học cho Module-A tại đây.Đặt tên cho mục nào đó phù hợp Module-A Tests và thay đổi các tùy chọn Cấp thành Thư viện mô-đun.
  8. Nhấp vào nút +(Alt+Insert) để thêm nguồn vào. Điều hướng đến tệp src thử nghiệm. E.G .: C:\dev\projects\myProject\moduleA\src\test và thêm điều này và bây giờ bạn sẽ có một Nguồn được thêm vào.
    1. Nhấp vào OK và bạn sẽ quay lại hộp thoại Cấu trúc dự án.
    2. Bây giờ bạn sẽ có một Thư viện mới được thêm vào các phụ thuộc của bạn. Thay đổi số điện thoại Phạm vi thành Thử nghiệm
    3. Bấm OK ở dưới cùng và bạn đã hoàn tất. Bạn có thể cần phải thực hiện/làm sạch dự án.

Và bây giờ bạn có kiểm tra depencies được liên kết giữa các mô-đun.

Nếu bạn có thể nghĩ ra giải pháp tốt hơn, vui lòng cho tôi biết nhưng đây là cách đơn giản nhất mà tôi đã tìm thấy để thực hiện.

+0

Tôi thực sự muốn tôi không tìm kiếm điều này .. (Tôi lười biếng tôi đoán tôi sẽ chỉ di chuyển vài bài kiểm tra vấn đề trừu tượng tôi phải * Mô-đun B *, không thực sự thích nó vì một số * Mô-đun A * Các thử nghiệm sẽ phải được chuyển sang * Mô-đun B * mặc dù chúng đang thử nghiệm mã trong * Mô-đun A *, nhưng tốt - nó đơn giản hơn – ycomp

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