Language: EN

faker-net

Generate fake testing data in C# with Faker.NET

Faker .NET is a C# library used to generate random and fake data for testing and development purposes in .NET applications.

These types of libraries are very useful when we have to test applications or databases. For example, we can create a demo or a mockup without using real data or confidentiality issues.

The library is a port (one of many) of the popular Ruby Faker library https://github.com/faker-ruby/faker. It is an alternative to other similar libraries for .NET like the popular https://github.com/slashdotdash/faker-cs.

What I like most about this particular version of Faker, besides the large number of generators and options it has, are the localization options. Most libraries only generate data for US or UK. However, Faker .NET generates data in formats for more than 51 countries.

With Faker .NET, we can generate random data of a wide variety of types such as names, addresses, phone numbers, email addresses, dates, and many others.

Of course, we have all kinds of options to customize the creation. In addition to being able to generate custom data through regular expressions, along with probability distributions to control the frequency of certain values.

It is compatible with .NET Standard 2.0 and 2.1, .NET Framework 4.6.2 or higher, and .NET 5.0 or higher.

How to use Faker .NET

We can easily add the library to a .NET project through the corresponding Nuget package.

Install-Package Faker.Net

Here are some examples of how to use Faker .NET extracted from the library’s documentation

// Generates a random name
string name = RimuTec.Faker.Name.FullName();

// Generates a random address
string address = RimuTec.Faker.Address.FullAddress();

// Generates a random phone number
string phone = RimuTec.Faker.Phone.Number();

// Generates a random date in the range of the last 10 years
DateTime date = RimuTec.Faker.Date.Recent(10);

// Generates random Lorem Ipsum paragraphs
string paragraphs = RimuTec.Faker.Lorem.Paragraphs(4);

As we can see, it is very easy to use, it is simply a call to the generator method we want. The data types available for use are,

  • Address
  • Business
  • Code
  • Color
  • Company
  • Date
  • Educator
  • Finance
  • IdNumber
  • Internet
  • Job
  • Lorem
  • Name
  • PhoneNumber
  • RandomNumber

Each with different generation options. In total, there are more than 100 methods to generate fake data for your tests.

Faker .NET is Open Source under the MIT license, and all the code and documentation is available in the project’s repository at http://faker.rubyforge.org

To use Faker Cs in a C# project, the library must first be installed via NuGet. Once installed, it can be used as follows:

using Faker;

Faker Cs also allows you to generate data in different languages and locations, which is useful for testing applications that need to support different languages and regions.