2010-07-19 42 views
17

Có cách nào để chạy thử nghiệm đơn vị cho Android từ Eclipse theo cách sẽ thiết lập mã và đo lường phạm vi mã thử nghiệm không?Phạm vi mã thử nghiệm Android, Eclipse

Tôi đang tìm một cách đơn giản để tìm ra phần nào của ứng dụng của tôi chưa được kiểm tra, sửa các trường hợp kiểm tra và xem điều đó có hữu ích hay không.

Trả lời

2
+3

Trong khi điều này có thể trả lời câu hỏi về mặt lý thuyết, [nó sẽ thích hợp hơn le] (http://meta.stackexchange.com/q/8259) để bao gồm các phần thiết yếu của câu trả lời ở đây và cung cấp liên kết để tham khảo. –

+0

Liên kết này hiện đã bị hỏng. – twiz

+0

Đã cập nhật liên kết – avh

8

Disclaimer: Tôi là một Atlassian

Công cụ Atlassian Clover cũng đã hỗ trợ cho Android - nó đo lường mức độ phù hợp cho cả mã ứng dụng và kiểm tra đơn vị. Mặc dù trong giai đoạn alpha, nó hoạt động khá tốt - nó hoạt động với phiên bản Eclipse 3.6.2 và cao hơn.

Nếu bạn muốn tìm lĩnh vực ứng dụng của bạn đòi hỏi phải cải tiến, sau đó các tính năng Clover sau sẽ được hoàn hảo cho công việc này:

  • Clover Dashboard
  • mây che phủ Báo cáo
  • Bảo hiểm TreeMap Báo cáo
  • Bảo hiểm Explorer

Ồ, và Báo cáo HTML Clover trông fantasti c!

Kiểm tra này: https://confluence.atlassian.com/display/CLOVER/Clover-for-Android

2

Install EclEmma từ Eclipse Marketplace.

Nếu bạn có <path to test project>/build.xml, hãy đổi tên tệp đó.

tôi đã có thể tạo báo cáo bảo hiểm thử nghiệm bằng cách thực hiện sau từ giao diện điều khiển:

<path to android tools>android update test-project -m <path to app project> -p <path to test project> + Nhập,

cd <path to test project> + Nhập,

ant emma debug install test + Nhập,

nơi <path to android tools>/opt/android-sdk-linux/tools/ trên máy của tôi - thư mục nơi SDK Android được cài đặt.

Điều này tạo ra <path to test project>/bin/coverage.html tệp.

Nếu bạn nhận được "sai JAVA_HOME" lỗi thực thi gksu gedit /etc/environment + Nhập, đúng JAVA_HOME, lưu tập tin, đăng xuất hoặc khởi động lại và thử lại.

Nguồn: http://blog.rabidgremlin.com/2010/11/19/android-tips-generating-a-coverage-report-for-your-unit-tests/

3

Tôi đã sử dụng EMMA (android đã hỗ trợ nó) cho mã số bảo hiểm (và android-junit-report cho các báo cáo thử nghiệm), đây là một bản tóm tắt:

  • Tạo dự án android (hoặc thư viện)

android.bat dự án cập nhật -p dự án -n my_project -t android-16

cd dự án

kiến ​​emma sạch debug

  • tạo một dự án thử nghiệm (liên quan đến thư viện trước)

android.bat dự án cập nhật --library .. \ project -p project_Test -n project_Test -t

  • trong trường hợp các dự án chính không phải là một thư viện

android.bat cập nhật dự án -m .. \ dự án -p project_Test -n project_Test -t

ant emma gỡ lỗi sạch cài đặt Tôi không sử dụng 'thử nghiệm' vì tôi muốn chạy công cụ của riêng mình

adb shell pm cụ bảo hiểm -e đúng -e coverageFile sdcard/coverage.ec -w com..myproject.test/com.zutubi.android.junitreport.JUnitReportTestRunner

  • Pull tập tin từ thiết bị (emulator)

adb pull sdcard/junit-report.xml

sdcard kéo adb/coverage.ec

  • Tạo XML báo cáo (cũng có thể tạo báo cáo html)

java -cp báo cáo emma emma.jar -r xml -in bin /coverage.em,coverage.ec

  • Tạo HTML báo cáo (cũng có thể tạo báo cáo html)

java -cp emma.jar emma báo cáo -r html -in bin/coverage.em, bảo hiểm. ec

  • Sử dụng sau xây dựng (Jenkins):

    • báo cáo JUnit XML
    • báo cáo
    • Emma Bảo hiểm (cung cấp cho các coverage.xml như là đầu vào)

Đừng cần emma.jar vào libs

Kiểm tra nó ra khỏi số blog

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