Chỉ cần không quan tâm - tại sao nó đã được quyết định để di chuyển thử nghiệm cho một dự án riêng biệt, không chỉ đến một thư mục nguồn riêng biệt?Tại sao phải tổ chức kiểm tra trong một dự án riêng biệt chứ không phải thư mục?
Trả lời
Ứng dụng thử nghiệm "công cụ" mục tiêu hoặc ứng dụng chính.
Phần thiết bị đo trong AndroidManifest.xml của dự án thử nghiệm cho phép các thử nghiệm chạy trong cùng một quá trình với ứng dụng. Tính năng thiết bị này cho phép ứng dụng thử nghiệm bước qua vòng đời thành phần android theo cách được kiểm soát.
Việc kiểm soát này cho phép bạn (ví dụ) tạo các kiểm tra lặp lại cho các trường hợp cho vòng đời hoạt động (tạo, tiếp tục, tạm dừng, hủy).
http://developer.android.com/guide/topics/testing/testing_android.html#Instrumentation
Vì vậy, trong bản tóm tắt thấy, việc áp dụng thêm có sức mạnh đặc biệt so với mục tiêu thử nghiệm. Vì chúng được đóng gói trong ứng dụng thử nghiệm, ứng dụng thực của bạn chỉ cần có các quyền mà nó yêu cầu để thực hiện nhiệm vụ của nó.
Tôi nghĩ rằng theo cách này bạn có thể thực hiện hai ứng dụng riêng biệt, một ứng dụng là một ứng dụng thông thường và một để kiểm tra nó. Nếu bạn muốn xuất bản ứng dụng của mình, bạn không cần phải cung cấp cho mọi người bài kiểm tra của mình. Nhưng có lẽ nó đã được thực hiện cho mục đích tốt hơn!
Có điều này được thực hiện để mã kiểm tra là không được xây dựng vào ứng dụng riêng của mình, cho phép mã thử nghiệm được chạy trên phiên bản sản xuất cuối cùng của ứng dụng mà không phải tăng kích thước ứng dụng với tất cả mã thử nghiệm được tích hợp vào nó. – hackbod
Xin lưu ý rằng bạn * có thể * xây dựng các bài kiểm tra của bạn trực tiếp vào ứng dụng của bạn, không có gì ngăn cản điều đó. Không có lý do chính đáng nào để làm như vậy, vì mã kiểm tra liên kết đến mã ứng dụng nên có toàn quyền truy cập vào nó. – hackbod
Nhưng nó được nêu trên trang web dev android rằng "cách tiếp cận tốt nhất là thêm dự án thử nghiệm để kiểm tra thư mục gốc của nó/ở cùng cấp với thư mục src/của dự án của ứng dụng chính." nghĩa là các bài kiểm tra được tích hợp vào ứng dụng. – Eugene
Các tài liệu hiện hành, như tôi đã giải thích nó, nói rằng bạn nên giữ mã kiểm tra vào một dự án riêng biệt trong thư mục "kiểm tra" bên trong dự án applicaton => "Một dự án trong một dự án"
http://developer.android.com/guide/topics/testing/testing_android.html#TestProjects
Làm sao ?
Creating an Android Test project in Eclipse
Tại sao?
Thay vì cũ. 40 dự án bạn có 20 dự án => tổng quan tốt hơn, ít bảo trì hơn, nhật thực nhanh hơn.
Hai build.xml => CI dễ dàng xây dựng với Jenkins
Hai file manifest => các phiên bản tương lai của ADT xây dựng công cụ này sẽ hỗ trợ biểu hiện sáp nhập
- 1. Tổ chức thư mục dự án iOS
- 2. Tổ chức dự án PHP
- 3. Jasmine trong một dự án thử nghiệm riêng biệt
- 4. Tổ chức thư mục dự án Eclipse Java
- 5. SVN kiểm tra nội dung của một thư mục, không phải thư mục chính nó
- 6. Làm thế nào để kiểm tra ứng dụng đơn lẻ (không phải dự án) ở Django?
- 7. Tại sao Windows.Forms trong Hệ thống chứ không phải Microsoft?
- 8. Tại sao bằng "-eq" trong PowerShell chứ không phải chỉ "="?
- 9. Làm thế nào để tổ chức và unittests chạy và kiểm tra chức năng riêng biệt sử dụng nosetests
- 10. Tổ chức lưu trữ cho dự án Hadoop
- 11. Làm thế nào để tổ chức một dự án Python?
- 12. Tại sao UnhandledExceptionEventArgs.ExceptionObject đối tượng chứ không phải ngoại lệ?
- 13. Tại sao in không phải là chức năng trong python?
- 14. Tại sao sử dụng argparse chứ không phải là optparse?
- 15. Tại sao getResourceAsStream() hoạt động trong IDE chứ không phải JAR?
- 16. Tổ chức và cấu trúc tài nguyên dự án Xcode
- 17. Tổ chức một dự án thử nghiệm đơn vị cho các giải pháp lớn
- 18. Tại sao phải kiểm tra xem (* argv == NULL)?
- 19. Tại sao tôi phải thường xuyên dọn dẹp một dự án cụ thể trong Eclipse?
- 20. GQL chỉ dành cho các dự án Python chứ không phải cho java?
- 21. Kiểm tra junit Eclipse trong cùng một dự án
- 22. .NET Làm cách nào để kiểm tra xem đường dẫn có phải là tệp hay không chứ không phải thư mục?
- 23. Tại sao Array.count có sẵn trong chế độ dev chứ không phải sản xuất?
- 24. PHP kiểm tra xem tệp có tồn tại và không phải là thư mục
- 25. Tổ chức dự án thử nghiệm đơn vị .NET
- 26. Bao gồm tệp tài nguyên trong dự án bằng tệp .RC chứ không phải tệp .RES
- 27. Tại sao dict.keys của Python() trả về một danh sách chứ không phải một bộ?
- 28. "Thư mục nguồn không phải là dự án Java" lỗi trong eclipse
- 29. tổ chức các dự án Redmine?
- 30. Kiểm tra trong một dự án Eclipse vào SVN
Không chắc chắn điều này là đúng, từ quyền kinh nghiệm của tôi được sử dụng trong thử nghiệm phải được khai báo trong bản kê khai mục tiêu thử nghiệm (mà là khá nghèo nếu bạn hỏi tôi) – zode64
Đúng là một số thư viện kiểm tra yêu cầu mục tiêu có quyền bổ sung. Ví dụ, tôi nghĩ rằng Robotium được sử dụng để yêu cầu sự cho phép để xem những quy trình đang chạy. Tôi sử dụng robotium và đồng ý rằng điều này không lý tưởng. Tuy nhiên, robotium không còn xuất hiện để yêu cầu điều này. Tôi giả sử rằng kể từ khi ứng dụng thử nghiệm chạy như một phần của quá trình ứng dụng đích, nó sử dụng các quyền của mục tiêu. Bạn có thể cụ thể hơn về trải nghiệm của mình không? Câu trả lời của tôi là cho câu hỏi "tại sao nó đã được quyết định để di chuyển các bài kiểm tra cho một dự án riêng biệt". – byeo
Một ví dụ đơn giản, tôi có ứng dụng A và dự án thử nghiệm B để kiểm tra ứng dụng A.Nếu tôi muốn sử dụng internet trong dự án thử nghiệm B để xác minh một kết quả (tôi biết, đó là một thử nghiệm nghèo) nhưng App A không có quyền truy cập internet tôi phải thêm vào App A anyway do đó đưa ra một sản xuất ứng dụng không cần thiết cho phép là sai. được xem là dự án thử nghiệm có biểu hiện riêng của nó sẽ tốt hơn để có thể xác định các quyền kiểm tra cụ thể trong đó, mặc dù tôi hiểu ở mức độ thấp, điều này sẽ rất khó – zode64