faker icon indicating copy to clipboard operation
faker copied to clipboard

A Kotlin and Android-ready port of the Faker ruby gem

Faker

Generates fake data for testing or populating a development database. Run your tests with realistic data like names, emails, dates, countries...

A Java port of the Faker ruby gem. The goal was to reuse their locale data files.

Build Status Release

Installing

repositories {
    // ...
    maven { url 'https://jitpack.io' }
}

dependencies {
    implementation 'com.github.blocoio:faker:1.2.9'
}

You can use testImplementation or androidTestImplementation, if you only want to use Faker for testing.

Usage

Faker faker = new Faker();
faker.name.firstName();    // Returns "Aaron"
faker.company.name();      // Returns "Hirthe-Ritchie"

Faker faker = new Faker("nl");
faker.name.firstName();    // Returns "Thijs"

For full list of available options, check the original source. We have tried to keep the operations as close as possible.

You can also check our blog post.

Available components

  • Address
  • App
  • Avatar
  • Book
  • Bool
  • Business
  • Color
  • Commerce
  • Company
  • Date
  • Food
  • Internet
  • Lorem
  • Name
  • Number
  • PhoneNumber
  • Placeholdit
  • SlackEmoji
  • Team
  • Time
  • University

Warnings

  • Currently we don't support locale specific operations like Address.postcode_by_state or Business.swedish_organisation_number.

TODO

Proguard

To use Faker with proguard, here are the rules you need to add:

# SnakeYAML
-keep class org.yaml.snakeyaml.** { public protected private *; }
-keep class org.yaml.snakeyaml.** { public protected private *; }
-dontwarn org.yaml.snakeyaml.**

# Joda Time
-dontwarn org.joda.convert.**
-dontwarn org.joda.time.**
-keep class org.joda.time.** { *; }
-keep interface org.joda.time.** { *; }

Contact

Feedback and contributions are welcome. Feel free to send an email or submit a pull request.

License

This code is free to use under the terms of the MIT license.