floor9design / test-data-generator
用于生成测试数据的类
Requires
- php: >=7.3
- ext-json: *
Requires (Dev)
- mockery/mockery: dev-master
- phpstan/phpstan: ^1.0
- phpunit/phpunit: ^10||^9
README
简介
这是一个提供基本数据生成方法的非常简单的类,非常适合单元测试或数据填充。这并不是要替代 fzaninotto/Faker 或 fakerphp/faker,但请注意,Faker 已弃用,并且这两个库在生产环境中都很大。
其中一些包含的函数非常简单,但像过滤或格式化这样的少量代码,积累起来会产生大量的重复。事实上,这就是该软件包出现的原因。它只是将这些代码集中起来,允许一个点捕捉到所有这些细微差别。
例如,创建一个随机日期字符串很简单,但是随机生成有几个陷阱。MySQL 日期字符串有界限(在 1000-01-01 之后),MySQL 日期用零填充(二月是 02,不是 2)等等。通过使用这个类,这些复杂性在经过良好测试的类结构中集中和解决。
核心函数是公开的,但也有许多快速别名可供使用。例如,核心 randomMySqlDateTimeTimestamp
提供了一个安全的界限和正确实例化的时间戳,这允许对 randomMySqlDate
和 randomMySqlDateTime
进行安全的调用。
为了明确;上面的示例方法是简单的、预定义的查找。它们只是方便设置的方法。然而,这些方法设计成允许自定义输出标准。可以轻松生成格式化的日期输出,如 randomMySqlDate('l jS \of F Y h:i:s A')
。所有相关的/适当的方法也是如此。
特性
- 简单响应
- 高效的安装
- 快速生成可靠的数据,如日期、密码、不同规格的数字等。
安装
通过 Composer
composer require floor9design/test-data-generator
通过 git
git clone https://github.com/floor9design-ltd/test-data-generator.git
或
git clone git@github.com:floor9design-ltd/test-data-generator.git
用法
设置
这些是简单的类,因此需要最少的设置。在一个 composer/PSR 兼容的系统中,这应该会自动包含。如果您的系统以其他方式工作,可以手动包含。
请注意,它们是命名空间化的,因此不应与您的其他类/方法冲突。
测试
要运行测试
./vendor/phpunit/phpunit/phpunit
文档和覆盖率可以按以下方式生成
./vendor/phpunit/phpunit/phpunit --coverage-html docs/tests/
可以使用 phpstan 进行静态分析/代码审查
./vendor/bin/phpstan
注意事项:有时您可能需要增加 docker/vagrant/virtual 容器上的内存
./vendor/bin/phpstan --memory-limit=1G
致谢
变更日志
在此生成变更日志