나의 플랫폼/안드로이드
[Android] Robolectric 사용 중인지 체크
GsBOB
2019. 9. 2. 09:50
val isRoboUnitTest: Boolean = "robolectric" == Build.FINGERPRINT
이렇게 만들어서 사용하면 된다!!
라고만 하고 싶지만.. 테스트 코드에 이건 Robolectric을 사용한다고 명시를 해줘야 한다.
@RunWith(RobolectricTestRunner::class)
class SomeTest {
@Test
fun test() {
...
}
}
그럼 체크가 가능해 진다.
혹시나 하나 더 참고 사항으로 아래와 같은 Socket 에러를 보시는 분...
java.io.IOException: socket not created
at android.net.LocalSocketImpl.bind(LocalSocketImpl.java:305)
at android.net.LocalServerSocket.__constructor__(LocalServerSocket.java:49)
at android.net.LocalServerSocket.<init>(LocalServerSocket.java)
at com.facebook.stetho.server.LocalSocketServer.bindToSocket(LocalSocketServer.java:142)
at com.facebook.stetho.server.LocalSocketServer.listenOnAddress(LocalSocketServer.java:78)
at com.facebook.stetho.server.LocalSocketServer.run(LocalSocketServer.java:74)
at com.facebook.stetho.server.ServerManager$1.run(ServerManager.java:40)
무시해도 되지만 엄청 신경이 쓰이는 부분이다.
이걸 없애고 싶으신 분들은!!
혹시 Steho 라이브러리를 사용하고 있는지 체크해보라.
해당 라이브러리에서 초기화를 예외 처리 해놓으면 위 에러 문구가 사라질 것이다.
https://github.com/facebook/stetho/issues/440#issuecomment-286123231
참고하세요.