原文:faker | Dart Package (flutter-io.cn) 译时版本:2.1.0
faker
用于 Dart 生成假数据的库。
faker 受 Python 库 faker 和 Ruby 库 ffaker 的很大启发。
用法
一个简单示例:
import 'package:faker/faker.dart';
main() {
var faker = new Faker();
faker.internet.email();
// francisco_lebsack@buckridge.com
faker.internet.ipv6Address();
// 2450:a5bf:7855:8ce9:3693:58db:50bf:a105
faker.internet.userName();
// fiona-ward
faker.person.name();
// Fiona Ward
faker.person.prefix();
// Mrs.
faker.person.suffix();
// Sr.
faker.lorem.sentence();
// Nec nam aliquam sem et
}
另外一个详细示例:
library faker.example;
import 'package:faker/faker.dart';
void main() {
// final random = RandomGenerator(seed: 63833423);
// final faker = Faker.withGenerator(random);
// 生成一些不同类型的数据。
print(faker.address.country());
print(faker.company.name());
print(faker.currency.code());
print(faker.internet.ipv4Address());
print(faker.job.title());
print(faker.person.firstName());
print(faker.sport.name());
// 生成一个随机GEO(地理位置)。
print(faker.geo.longitude());
print(faker.geo.latitude());
// 生成一个随机数量的 IP V4 地址(最多10个)
print(random.amount((_) => faker.internet.ipv4Address(), 10));
// 生成随机的布尔值
print(random.boolean());
// 生成随机小数。
print(random.decimal());
// 生成随机的日期时间,在 2000 年和 2020 年之间
print(faker.date.dateTime(minYear: 2000, maxYear: 2020));
// 生成随机的日期时间,在两个日期中间
print(faker.date.dateTimeBetween(DateTime(2017, 9, 7), DateTime(2020, 9, 7)));
// 生成随机的 User Agent ,带有 osName iOS
print(faker.internet.userAgent(osName: 'iOS'));
// 生成本地化的波斯语文本
final fakerFa = Faker(provider: FakerDataProviderFa());
print(fakerFa.lorem.word());
print(fakerFa.lorem.sentence());
print(fakerFa.lorem.words(10).join(' '));
print(fakerFa.lorem.sentences(3).join(' '));
// 生成 JWT(json web token)
print(faker.jwt.valid());
print(faker.jwt.valid(expiresIn: DateTime.now().add(Duration(hours: 2))));
print(faker.jwt.expired());
print(faker.jwt.custom(expiresIn: DateTime.now(), payload: {'key': 'value'}));
}
特性和BUG
如果有特性需求或者发现BUG,可在 issue 追踪 上提出。
版权
参考原文。