Nhìn vào tài liệu http://maven.apache.org/surefire/maven-surefire-plugin/examples/testng.html , chúng ta có thể thấy <scope>
thẻ bên dưới<dependency>
Đó là gì và làm thế nào chúng ta có thể sử dụng nó để chạy thử nghiệm?
Nhìn vào tài liệu http://maven.apache.org/surefire/maven-surefire-plugin/examples/testng.html , chúng ta có thể thấy <scope>
thẻ bên dưới<dependency>
Đó là gì và làm thế nào chúng ta có thể sử dụng nó để chạy thử nghiệm?
Câu trả lời:
Phần <scope>
tử có thể lấy 6 giá trị: biên dịch , cung cấp , thời gian chạy , kiểm tra , hệ thống và nhập .
Phạm vi này được sử dụng để hạn chế tính xuyên suốt của một phụ thuộc và cũng ảnh hưởng đến đường dẫn lớp được sử dụng cho các tác vụ xây dựng khác nhau.
biên dịch
Đây là phạm vi mặc định, được sử dụng nếu không được chỉ định. Biên dịch phụ thuộc có sẵn trong tất cả các đường dẫn của dự án. Hơn nữa, những phụ thuộc đó được tuyên truyền cho các dự án phụ thuộc.
cung cấp
Điều này giống như biên dịch, nhưng chỉ ra rằng bạn mong đợi JDK hoặc một thùng chứa cung cấp sự phụ thuộc khi chạy. Ví dụ: khi xây dựng một ứng dụng web cho Phiên bản Java Enterprise, bạn sẽ đặt sự phụ thuộc vào API Servlet và API Java EE có liên quan đến phạm vi được cung cấp vì bộ chứa web cung cấp các lớp đó. Phạm vi này chỉ có sẵn trên đường biên dịch và biên dịch thử nghiệm, và không có tính bắc cầu.
thời gian chạy
Phạm vi này chỉ ra rằng sự phụ thuộc là không cần thiết để biên dịch, nhưng là để thực thi. Đó là trong thời gian chạy và kiểm tra các đường dẫn lớp, nhưng không phải là đường dẫn biên dịch.
kiểm tra
Phạm vi này chỉ ra rằng sự phụ thuộc là không bắt buộc đối với việc sử dụng ứng dụng thông thường và chỉ khả dụng cho các giai đoạn biên dịch và thực hiện thử nghiệm.
hệ thống
Phạm vi này tương tự như được cung cấp ngoại trừ việc bạn phải cung cấp JAR có chứa nó một cách rõ ràng. Cổ vật này luôn có sẵn và không được tra cứu trong kho lưu trữ.
nhập (chỉ khả dụng trong Maven 2.0.9 trở lên)
Phạm vi này chỉ được sử dụng trên một phụ thuộc của loại pom trong phần. Nó chỉ ra rằng POM được chỉ định nên được thay thế bằng các phụ thuộc trong phần của POM đó. Vì chúng được thay thế, các phụ thuộc có phạm vi nhập khẩu không thực sự tham gia vào việc giới hạn tính chuyển đổi của một phụ thuộc.
Để trả lời phần thứ hai của câu hỏi của bạn:
Làm thế nào chúng ta có thể sử dụng nó để chạy thử nghiệm?
Lưu ý rằng test
phạm vi cho phép chỉ sử dụng các phụ thuộc cho giai đoạn thử nghiệm.
Đọc tài liệu để biết chi tiết đầy đủ.
Sáu phạm vi phụ thuộc:
src/main
vàsrc/test
src/test
<dependencyManagement/>
, chỉ khả dụng trong Maven 2.0.9 trở lênThẻ phạm vi luôn được sử dụng để giới hạn các phụ thuộc bắc cầu và tính khả dụng của tệp jar ở cấp đường dẫn lớp. Nếu chúng tôi không cung cấp bất kỳ phạm vi nào thì phạm vi mặc định sẽ hoạt động tức là Biên dịch .
Nếu chúng tôi không cung cấp bất kỳ phạm vi nào thì phạm vi mặc định sẽ được biên dịch, Nếu bạn muốn xác nhận, chỉ cần chuyển đến tab pom hiệu quả trong trình chỉnh sửa nhật thực, nó sẽ hiển thị cho bạn dưới dạng biên dịch.