/faker

Faker is a pure Elixir library for generating fake data.

Primary LanguageElixirMIT LicenseMIT

Faker VersionLicenseBuild StatusIssuesDownloadsDonation

Faker is a pure Elixir library for generating fake data.

Inspired by:

Install

In your mix.exs file, add the :faker project to your dependencies (optionally include the version):

  defp deps do
    [{:faker, "~> 0.5", only: :test}]
  end

Do a mix deps.get to fetch the dependency. That's it.

If you want to use faker outside tests remove , only: :test part.

Usage

You need to start :faker application, but due to the many usages of fake data, (seed database, tests, etc) there's no right place to do it. For example, if you want to use it in tests, just add Faker.start to test/test_helper.exs, then, use any function described in the documentation, like Faker.Name.name to generate a random name.

TODO

  • Add more generators
  • Check performance
  • Add documentation
  • Promote library

Troubleshooting

  • If you get a message like the one below when you call Faker.Address.city, you need to add :faker to your application's mix file, in the applications function, as above.
** (FunctionClauseError) no function clause matching in Faker.Address.city_count/1
    lib/faker/address.ex:48: Faker.Address.city_count(nil)
    lib/faker/address.ex:41: Faker.Address.city/0

Tools

Faker was designed as a lightweight library, that's why it can be easily used with other tools.

Templating

You can build templates for testing purposes with the Blacksmith project. See the Blacksmith readme for details.

Thanks

Sponsored by Evil Martians

Released under the MIT License.