Just Another Android App

An Android base app with loads of cool libraries/configuration NOT MAINTAINED
Alternatives To Just Another Android App
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Testify21,59314,68877,8112 days ago42May 30, 2023399mitGo
A toolkit with common assertions and mocks that plays nicely with the standard library
Mockito14,44938,95014,505a day ago346November 02, 2023390mitJava
Most popular Mocking framework for unit tests written in Java
Mockery10,530112,37918,76616 days ago43December 10, 2023105bsd-3-clausePHP
Mockery is a simple yet flexible PHP mock object framework for use in unit testing with PHPUnit, PHPSpec or any other testing framework. Its core goal is to offer a test double framework with a succinct API capable of clearly defining all possible object operations and interactions using a human readable Domain Specific Language (DSL).
Go Sqlmock5,6541,471a month ago21June 28, 202077otherGo
Sql mock driver for golang to test database interactions
Mockery5,451314a day ago151November 21, 202330bsd-3-clauseGo
A mock code autogenerator for Go
Mockk5,247
4 days ago269apache-2.0Kotlin
mocking library for Kotlin
Jest Cheat Sheet5,045
7 months agocc0-1.0
Jest cheat sheet
Mimesis4,22642322 days ago49August 19, 202310mitPython
Mimesis is a powerful Python library that empowers developers to generate massive amounts of synthetic data efficiently.
Timecop3,30915,4902,0912 months ago48August 14, 20233mitRuby
A gem providing "time travel", "time freezing", and "time acceleration" capabilities, making it simple to test time-dependent code. It provides a unified method to mock Time.now, Date.today, and DateTime.now in a single call.
Rewire3,05620,4044,0656 months ago45August 13, 202349mitJavaScript
Easy monkey-patching for node.js unit tests
Alternatives To Just Another Android App
Select To Compare


Alternative Project Comparisons
Readme

Android Sample app with MVP architecture

Sample project that displays some images from the dribble API. Demonstrates some cool stuff that you can do with the modern libraries and tooling in Android these days.

As someone said on reddit: "It's not over-engineered, it's just a skyscraper without the skyscraper part, just the foundations :)"

Demo Screenshot

Newest additions:

  • Added a separate Timber logging tree for crashlytics. See com.example.tools.timber.CrashlyticsTree
  • Added automated unlocking the screen for espresso tests, check class com.example.util.EspressoTestRunner

libraries:

  • RxJava
  • Dagger 2 with examples of assisted injection and different modules depending on build type
  • Retrofit 2 and Retrofit Mock mode for debug builds
  • Mosby MVP with View State support
  • Timber
  • Auto Value
  • Glide with a wrapper
  • Butterknife
  • AssertJ for fluent assertions
  • Fabric (Crashlytics and Answers)
  • Retrolambda
  • Stetho

Static analysis:

  • PMD (https://pmd.github.io/ - check file quality.gradle)
  • Checkstyle
  • Lint
  • Findbugs
  • Jacoco code coverage that can generate reports for unit tests, espresso tests or the combination of the two
  • A set of custom IDE inspection rules
  • A module with a sample custom lint rule

Testing:

  • Espresso tests with and without mock web server
  • Mock web server tests that loads responses from json files
  • Robolectric tests
  • Normal unit tests
  • Ok http interceptor for changing the base url in tests
  • Idling resources
  • Unlocking screen for Espresso tests (check class com.example.util.EspressoTestRunner)

Other:

  • Separate app icons according to build type
  • Some advanced source sets configuration for splitting up tests
  • Loading some project config from property files in Android Manifest and build.gradle
  • Shared folders for some build types or tests
  • Working proguard config
  • Android Studio external annotations (https://www.jetbrains.com/help/idea/2016.3/external-annotations.html)
  • Package level annotations for @Nullable and @NonNull
  • OkHttp interceptor for adding auth token to headers easily
  • Strict mode
  • Plugin to publish app on the playstore
  • Dex count plugin for counting the number of methods in the apk
  • Separate Timber logging tree for crashlytics. See com.example.tools.timber.CrashlyticsTree

..and all sorts of other goodies!

Roadmap:

  • Proper CI setup (probably Teamcity)
  • Screenshot automation.
  • A debug drawer

Any feedback/pull request is welcome! You can catch me at www.sakiskaliakoudas.com

Popular Testing Projects
Popular Mock Projects
Popular Software Quality Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Java
Testing
Mock
Fabric
Rxjava
Retrofit2
Static Analysis
Dagger2
Espresso
Butterknife
Timber
Jacoco
Crashlytics
Robolectric
Mvp Android
Mosby