silverstripe / frameworktest
帮助核心和模块开发者测试他们的代码,与一组示例数据和行为的集合。
Requires
- php: ^7.3 || ^8.0
- fzaninotto/faker: ^1.7
- guzzlehttp/guzzle: ^6.3 || ^7.3
- silverstripe/cms: ^4
- silverstripe/framework: ^4
- silverstripe/registry: ^2
- silverstripe/vendor-plugin: ^1
README
简介
帮助核心和模块开发者测试他们的代码,与一组示例数据和行为的集合。
- 显示所有核心表单字段,包括它们的禁用和只读状态
- 显示包括数据的示例 GridField 实例
- 创建示例成员(以有效地测试 SecurityAdmin)
- 创建一个示例 ModelAdmin 实例(在
admin/test
中可用) - (可选) 多表单模块的三个步骤过程
- (可选) 标签字段模块的示例页面
- (可选) reCAPTCHA 模块的示例页面
使用方法
只需运行 dev/build
就会处理大多数示例数据的设置。
为了使用针对模块的任何可选测试行为,安装该模块并从相关文件夹中删除 _manifest_exclude
文件。例如,要测试标签字段模块,请删除 frameworktest/code/tagfield/_manifest_exclude
文件。
更多示例数据
该模块为不同的 CMS 行为创建一些默认页面。CMS 预计可以处理几千个页面。如果您想测试大量和嵌套树的 CMS 行为,该模块包括一个简单的生成任务:dev/tasks/FTPageMakerTask
。它将默认创建 3^5 个页面,因此运行时间较长。
配置数据量
Both FTPageMagerTask
和 FTFileMakerTask
允许配置生成的内容量。为此,传递一个以逗号分隔的整数列表,表示在每一层创建的记录数量。
$ vendor/bin/sake dev/tasks/FTPageMakerTask pageCounts=10,200,5,5
$ vendor/bin/sake dev/tasks/FTFileMakerTask fileCounts=5,300,55,5 folderCounts=1,5,5,5
保证唯一的图像
默认情况下,FTFileMakerTask
将随机在您图像的每个引用上添加水印。如果您想禁用此功能,请将 uniqueImages
配置变量设置为 false
。
块
当安装了 dnadesign/silverstripe-elemental 时,FTPageMakerTask
还可以自动在这些页面中生成块。它有几个硬编码的示例数据结构,用于常见的块类型,并随机创建一定数量的块,以及随机选择是否发布它们。依赖于文件和图像作为示例数据。
其他设置
composer require dnadesign/silverstripe-elemental
composer require silverstripe/elemental-bannerblock
composer require silverstripe/elemental-fileblock
使用方法
# Generate some sample files to associate with blocks
sake dev/tasks/FTFileMakerTask
sake dev/tasks/FTPageMakerTask withBlocks=true
要求
该模块旨在与最新的核心代码库一起运行,但也包括与早期核心版本匹配的分支,以实现向后兼容。
相关
- zframeworktest_dbswitcher 模块 - 为测试目的添加了通过查询参数切换数据库的功能