Goal of the Faker C++ is to provide a library like Faker.js for C++ community.
#include <iostream>
#include "faker-cxx/Date.h"
#include "faker-cxx/Internet.h"
#include "faker-cxx/Location.h"
#include "faker-cxx/String.h"
int main()
{
const auto id = faker::String::uuid();
const auto email = faker::Internet::email();
const auto password = faker::Internet::password();
const auto verificationCode = faker::String::numeric(8);
const auto createdAt = faker::Date::pastDate();
const auto city = faker::Location::city();
const auto streetAddress = faker::Location::streetAddress();
std::cout << id << std::endl; // 58018063-ce5a-4fa7-adfd-327eb2e2d9a5
std::cout << email << std::endl; // Lois_Hauck@hotmail.com
std::cout << password << std::endl; // @cWLwgM#Knalxeb
std::cout << verificationCode << std::endl; // 31457428
std::cout << createdAt << std::endl; // 2023-06-20T02:06:36Z
std::cout << city << std::endl; // Sayreville
std::cout << streetAddress << std::endl; // 1716 Harriet Alley
return 0;
}
- ๐ฉ Airline - aircraft types, airlines, airports, flight numbers
- ๐ผ Animal - animal types and species
- ๐ Book - book title, genre, author, publisher, ISBN
- ๐จ Color - color names, rgb, hex, hcl
- ๐ Commerce - commerce department, product name, sku, price
- ๐ข Company - company name, type, industry, catch phrase, buzz phrase
- ๐พ Database - column names, column types, database engines
- โน๏ธ Datatype - booleans
- ๐ Date - past, future dates
- ๐ฆ Finance - currency, IBAN, BIC, account name, account number, pin, credit card numbers
- ๐ Food - food category, vegetables, fruits, meats, dishes
- ๐ Git - branch names, commit messages, commit hash
- ๐จโ๐ป Hacker - hacker words
- โ Helper - random element from container
- ๐ Internet - emails, usernames, passwords, IP, HTTP
- ๐ผ๏ธ Image - images urls, github avatar urls, image dimensions
- ๐ Location - countries, cities, zip codes, street addresses
- ๐ Lorem - lorem words, sentences, paragraphs
- ๐ฅ Medicine - conditions, medical tests, specialties
- ๐ฅ Movie - actors, actresses, genres, movie titles
- ๐ถ Music - artists, song names, genres
- ๐ข Number - random integers, floating point numbers
- ๐ง Person - first, last names, job titles, hobby, genders, sex, nationalitiy, language
- ๐ Phone - phone number, IMEI
- โฝ Sport - sport names, athletes, events
- ๐ข String - uuids, alphanumeric, numeric, hexadecimal
- ๐ป System - file paths, file extensions, file names, directories, semantic version
- ๐ฎ Video game - title, genre, platform, studio
- ๐ค๏ธ Weather - temperature, pressure, humidity, weather description
- ๐ฌ Word - sample words, nouns, verbs
https://cieslarmichal.github.io/faker-cxx/
-
Add faker to git submodules (execute in project root):
mkdir externals cd externals git submodule add https://github.com/cieslarmichal/faker-cxx.git
-
Link with library:
set(BUILD_FAKER_TESTS OFF) add_subdirectory(externals/faker-cxx) add_executable(main Main.cpp) target_link_libraries(main faker-cxx)
- MSVCโ version 143 or newer.
- GCCโ version 13 or newer.
- Clangโ version 16 or newer.
- Apple Clangโ version 16 or newer.
- GTest (
BUILD_FAKER_TESTS=OFF
CMake flag to disable) - fmt
Feel free to join Faker C++ development! ๐
Please check CONTRIBUTING guide.
Discord Channel for contributors.