2012-06-29 35 views
5

Tôi đang cố gắng quấn đầu quanh Arquillian và tôi không hiểu được sự khác biệt cơ bản giữa chế độ in-container so với chế độ as-client.Chế độ chạy Arquillian

hiểu biết của tôi là, với Arquillian/shrinkwrap:

  • Bạn tạo một kho lưu trữ mà chỉ chứa các thành phần bạn muốn tích hợp và thử nghiệm với
  • Bạn dòng này lưu trữ trong bộ nhớ để một container thực tế (triển khai nó)
  • Bạn chạy các kho lưu trữ như một thử nghiệm bên trong container
  • Bạn làm cho một sự khẳng định về những gì sẽ xảy ra như là kết quả của bài kiểm tra đó

Vì vậy, theo quan điểm của tôi, mọi thứ chỉ "cảm thấy" như mọi khi sẽ luôn là in-container, vì các thử nghiệm luôn thực hiện bên trong một vùng chứa.

Hãy giúp tôi hiểu sự khác biệt giữa hai chế độ này và các loại thử nghiệm tích hợp nào cả hai chế độ đều phù hợp. Điểm thưởng để cung cấp ví dụ về mã cụ thể (và không phải những điều mơ hồ trực tiếp từ Hướng dẫn tham khảo!) Giải thích tại sao/cách bạn chạy thử nghiệm ở cả hai chế độ. Cảm ơn trước!

Trả lời

1
  • trong container: sử dụng cho hộp màu trắng, tích hợp thử nghiệm
  • như-client: sử dụng cho hộp đen, chức năng kiểm tra

tức là, đối với giao diện người dùng thử nghiệm/chức năng (" là "vai trò của" khách hàng "sử dụng ứng dụng trong sản xuất), sử dụng chế độ as-client với @RunAsClient. Để kiểm tra tích hợp thực sự (kiểm tra các phụ thuộc giữa các lớp mà bạn cần kiến ​​thức "hộp trắng" bên trong về bản thân ứng dụng), sử dụng chế độ in-container. Trong hai trường hợp, ShrinkWrap và Arquillian triển khai lưu trữ trong bộ nhớ (JAR/WAR/EAR) trực tiếp vào thùng chứa được cấu hình (thông qua giao thức phát trực tuyến JBoss), tuy nhiên khi kiểm tra được chạy ở các chế độ khác nhau, chúng có quyền truy cập khác nhau vào vùng chứa tùy thuộc vào chế độ thử nghiệm.

+0

Tôi hiểu sự khác biệt giữa kiểm tra hộp đen và hộp đen nhưng tôi cũng không hoàn toàn có được nó với thử nghiệm chế độ khách hàng. nó có nghĩa là lưu trữ shrinkwrapped trong chế độ khách hàng không được triển khai vào cùng một ứng dụng được thử nghiệm nhưng được triển khai vào một ứng dụng riêng biệt để có một cấu hình máy khách/máy chủ? nếu trong chế độ khách hàng, kho lưu trữ shrinkwrap cũng được triển khai vào ứng dụng đang thử nghiệm thì tôi vẫn không thấy sự khác biệt giữa hai chế độ. :( – dragonsfire

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