2011-07-22 43 views
8

Tôi muốn chạy một số thử nghiệm JUnit4. Mã này dựa trên một số thư viện Android (trình phân tích cú pháp XML của Android), nhưng không tạo bất kỳ hoạt động nào và v.v. Khi tôi cố gắng chạy thử nghiệm, tôi nhận thấy rằng một lớp Android mà tôi cần không được tìm thấy. Có cách nào để chạy thử nghiệm JUnit4 với mã Android, không phải để kiểm tra hoạt động nhưng để kiểm tra mã với một số thư viện.Thử nghiệm Android JUnit4

+0

Có thể trùng lặp: http://stackoverflow.com/questions/2172152/cant-run-junit-4-test-case-in-eclipse/ –

Trả lời

3

Không có cách nào (mà tôi biết) để sử dụng JUnit4 trên Android. Nó hỗ trợ JUnit3 mặc dù, nếu đó là một lựa chọn cho bạn?

Hoặc, bạn có thể sử dụng Robolectric và chạy thử nghiệm trên máy phát triển của mình (nơi bạn có thể sử dụng bất kỳ khung kiểm tra đơn vị nào bạn muốn). Việc này có hiệu quả với bạn hay không phụ thuộc vào chính xác những gì bạn đang thử nghiệm, nhưng nó có thể đáng để đi?

9

Tôi đã gặp vấn đề tương tự và cố gắng điều chỉnh JUnit4 thành TestRunner hiện tại của Android - mà không thành công. Do đó, tôi đã tạo một dự án mới có tên là JUnit4Android. Đó là thư viện ứng dụng TestRunner cho các bài kiểm tra và kiểm tra JUnit4 và JUnit3. Vì vậy, bạn có thể chạy các bài kiểm tra JUnit4 hiện tại của bạn với nó. Hãy tìm thêm thông tin trên GitHub:

https://github.com/dthommes/JUnit4Android/wiki

+1

Đối với bất kỳ ai đọc bài viết này ngay bây giờ, tôi cũng khuyên bạn nên xem xét AndroidJUnit4. Nó mang lại JUnit 4 và DBUnit, trong số những người khác, cho Android. https://github.com/esmasui/AndroidJUnit4 – spaaarky21

0

Nó có thể là một chút muộn, nhưng có cùng một bản cập nhật chính thức từ Google về Junit4:

dựa trên Android-test-kit project và một số nguồn tin khác thì rõ ràng rằng: AndroidJUnitRunner là phiên bản thử nghiệm mới chưa được tích hợp cho Android, là một phần của

Thư viện thử nghiệm hỗ trợ Android và có thể được tải xuống qua Android Hỗ trợ Repository. Á hậu mới chứa tất cả những cải tiến của GoogleInstrumentationTestRunner và thêm nhiều tính năng hơn:

- JUnit4 support 
- Instrumentation Registry for accessing Instrumentation, Context and Bundle Arguments 
- Test Filters @SdkSupress and @RequiresDevice 
- Test timeouts 
- Sharding of tests 
- RunListener support to hook into the test run lifecycle 
- Activity monitoring mechanism ActivityLifecycleMonitorRegistry 

Trên thực tế, nó đã được trình bày trong Hỗ trợ Repository. Nếu bạn đi đến

%ANDROID_HOME%\extras\android\m2repository\com\android\support\test\testing-support-lib\

nó có thể tìm testing-support-lib trong đó (AAR, lọ, vv) cho phép sử dụng Junit4. Thậm chí nhiều hơn, nó chứa thư viện espresso cùng một vị trí thuận tiện cho việc kiểm tra giao diện người dùng. Có vẻ như các trang web Android và tài liệu tham khảo chính thức của lib sẽ được cập nhật sớm với thông tin đó.

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