본문 바로가기

StackOverflow

[Android] Q: Android instrumented test의 결과는 어디에서 확인할 수 있나요?

Q: Android instrumented test의 결과는 어디에서 확인할 수 있나요?

저는 gradle을 이용해서 컴파일을 하고 있습니다. 제가 만든 테스트는 로그와 결과출력을 텍스트로 하고 있습니다.

grep -r text * fails.

system.out과 logging의 결과물이 저장되는 곳이 어디인가요?

감사합니다.

수정: 유닛 테스트의 결과를 /app/build/test-results/ 에서 찾았습니다. 하지만 다른 것은 아직 찾지 못했습니다. instrumented test의 결과 output 파일이 저장되는 곳이 어디인지 알고 계시는 분 없나요?

(질문자: Ray Tayek)


A: gradlew connectedCheck를 실행하면 아래와 같은 디렉토리가 생성됩니다.

\build\reports\androidTests\connected\

\build\outputs\androidTest-results\connected\

이 instrumented test는 LogCat 결과도 가지고 있는데, Log.d 를 통해 출력된 것만 저장됩니다.

System.out.print 를 이용해서 테스트 결과를 출력하면 아래와 같이 출력됩니다.


만약 출력 결과를 유지하고 싶다면, gradle task 중 adb logcat을 하나 만들어, 디바이스에서 나오는 결과를 따로 저장해야 할겁니다.


(답변자: David Medenjak)

_

I managed to get gradle cC to work. My test just prints out and logs one line of text.

grep -r text * fails.

where is the system.out and logging output?

thanks

edit: i found the output for the unit tests (it's in .../app/build/test-results/). but still no luck with the other.

is there a way to save the output from the instrumented tests somehow?

shareeditflag

_

Running gradlew connectedCheck will generate test results in the build directory, see

\build\reports\androidTests\connected\
  and
\build\outputs\androidTest-results\connected\

These instrumentation tests will also log their output in LogCat, along with any Log.d statements. Using System.out.print in your test cases will result in an output like this:

01-27 18:05:30.445 32664-32677/your.packagename I/System.out﹕ Test output

If you need to also persist the output you could probably write a gradle task running adb logcat and pulling the logs from the device.

shareeditflag