This app is purely implemented using Kotlin.
This app is to test DNS servers and figure out the best / fastest DNS server (https://www.techradar.com/sg/news/best-dns-server)
InjectorUtils
as it can achieve my goals more easily.Separate tests into unit tests and instrumentation tests.
Custom test runner created for Retrofit to inject testing end point instead of using real end point.
For manual tests
Build apk
./gradlew clean
./gradlew assembleDebug
Auto test
./gradlew testDebugUnitTest
./gradlew cAT --info
Install apk to device
./gradlew installDebug
Manual test fresh installation (with network connected) (Already covered in auto test)
Manual test fresh installation (with network disabled) (Already covered in auto test)
Manual test with existing installation (Already covered in auto test)
Under folder screenshots
, you can find some screenshots for cases of
A list of successfully loaded DNS locations
Best location dialog
Instrumentation test result
Unit test result
Other UI behaviors can be oberserved from auto test run
Foundation - Components for core system capabilities, Kotlin extensions and support for multidex and automated testing.
Architecture - A collection of libraries that help you design robust, testable, and maintainable apps. Start with classes for managing your UI component lifecycle and handling data persistence.
UI - Details on why and how to use UI Components in your apps - together or separate
Third party
A MockWebServer bug was found during my implementation and testing. I asked one question java.lang.IllegalArgumentException: Log tag “okhttp3.mockwebserver.MockWebServer” exceeds limit of 23 characters in stackoverflow. The bug was confirmed by the author of MockWebServer.
I have provided my own fix to the bug which unblocked myself from completing the tests.
Pull-request 6229 for bug fix has been approved and merged with Square Okhttp master branch.
Compose
flow
page
Dagger
/Hilt
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。