2016-04-28 17 views
21

Như đã giải thích trong bài khác Gradle có thể được cấu hình để đăng nhập kết quả kiểm tra vào giao diện điều khiển:Gradle: Cách hiển thị kết quả androidTest trong bảng điều khiển?

Về cơ bản, điều này có thể được thiết lập thông qua các nhiệm vụ sau đây :

tasks.withType(Test) { 
    testLogging { 
     // Custom configuration 
    } 
} 

này hoạt động tốt cho unit tests và trông hơi như thế này:

... 
:app:assembleDebugUnitTest 
:app:testDebugUnitTest 
:app:processDebugResources 

com.example.StringsTest > formatValue PASSED 
com.example.StringsTest > formatValueWithDecimals FAILED 

1 test completed, 1 failed 

Bên cạnh đó, kiểm tra đơn vị tôi cũng chạy tích hợp thử nghiệm sử dụng lệnh sau:

$ ./gradlew connectedAndroidTest 

Khi tôi nhìn vào sản lượng trong bảng điều khiển, tôi thiếu thiếu kết quả thử nghiệm riêng lẻ khi được viết cho các bài kiểm tra đơn vị. Làm thế nào tôi có thể cấu hình kiểm tra đăng nhập cho các bài kiểm tra thiết bị đo đạc?

+0

Bất kỳ may mắn nào với JJD này? –

+0

Chưa. Thành thật mà nói, tôi phải trì hoãn những thử nghiệm này một thời gian. Tôi sẽ nhặt nó ngay sau khi mọi thứ "trở lại bình thường". Bạn đã thử cách tiếp cận của hidro? – JJD

+0

Không, tôi chỉ muốn một phương pháp tiếp cận dựa trên Gradle. Tôi đã hy vọng một cái gì đó như 'tasks.withTest'. –

Trả lời

8

Kết nối kiểm tra đầu ra nhật ký và sự kiện tới logcat, khi nó chạy trên thiết bị/trình mô phỏng. Sự kiện kiểm tra được ghi lại theo thẻ TestRunner.

Tôi sử dụng tập lệnh sau để bắt đầu adb logcat ở chế độ nền, nhật ký TestRunner sự kiện khi thử nghiệm đang được thực hiện và sau đó giết quá trình logcat.

adb logcat *:S TestRunner:V & LOGCAT_PID=$! ; \ 
./gradlew :app:cAT ; \ 
if [ -n "$LOGCAT_PID" ] ; then kill $LOGCAT_PID; fi 

trong đó sản xuất một cái gì đó như thế này:

[1] 90439 
--------- beginning of system 
--------- beginning of main 
:app:preBuild UP-TO-DATE 
:app:preDebugBuild UP-TO-DATE 
... 
:app:packageDebugAndroidTest UP-TO-DATE 
:app:assembleDebugAndroidTest UP-TO-DATE 
> Building 96% > :app:connectedDebugAndroidTest06-13 09:25:04.259 5460 5474 I TestRunner: run started: 23 tests 
06-13 09:25:04.267 5460 5474 I TestRunner: started: testHomeClick(io.github.hidroh.tldroid.CommandActivityTest) 
06-13 09:25:06.899 5460 5474 I TestRunner: finished: testHomeClick(io.github.hidroh.tldroid.CommandActivityTest) 
06-13 09:25:06.903 5460 5474 I TestRunner: started: testRenderNoContent(io.github.hidroh.tldroid.CommandActivityTest) 
06-13 09:25:08.128 5460 5474 I TestRunner: finished: testRenderNoContent(io.github.hidroh.tldroid.CommandActivityTest) 
06-13 09:25:08.130 5460 5474 I TestRunner: started: testStateRestoration(io.github.hidroh.tldroid.CommandActivityTest) 
06-13 09:25:09.547 5460 5474 I TestRunner: finished: testStateRestoration(io.github.hidroh.tldroid.CommandActivityTest) 
... 
06-13 09:25:35.283 5460 5474 I TestRunner: run finished: 23 tests, 0 failed, 0 ignored 
:app:connectedDebugAndroidTest 
:app:createDebugAndroidTestCoverageReport 
:app:connectedAndroidTest 

BUILD SUCCESSFUL 

Total time: 1 mins 7.485 secs 
[1]+ Terminated: 15   adb logcat *:S TestRunner:V 

Bạn có thể chỉ huy quá trình tinh chỉnh logcat để sử dụng một logger của sự lựa chọn của bạn, ví dụ một bộ ghi màu, hoặc thay đổi bộ lọc logcat để hiển thị nhiều sự kiện hơn.

+0

Hoạt động hoàn hảo! Mặc dù nó không phải là "phương pháp tiếp cận dựa trên gradle" – gorbysbm

2

Phiên bản đơn giản chỉ là để sử dụng:

connectedAndroidTest ./gradlew --info

nó mất một littlebit để đăng nhập nó trong cửa sổ terminal/console, nhưng nó cho thấy tất cả mọi thứ đẹp , màu và định dạng

như ...

…ShowsIntroduction[SM-G950F - 7.0] SUCCESS 
…BackButtonReturnsToOnboardingScreen[SM-G950F - 7.0] SKIPPED 

chúc may mắn & & vui vẻ

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