rozbehsharahi / tester3
TYPO3的测试框架
v1.1.0
2024-01-24 23:25 UTC
Requires
- php: ^7.4 || ^8.0
- ext-json: *
- phpstan/phpstan: ^1
- phpunit/phpunit: ^9 || ^10
- typo3/cms-backend: ^11.5 || ^12
- typo3/cms-core: ^11.5 || ^12
- typo3/cms-extensionmanager: ^11.5 || ^12
- typo3/cms-felogin: ^11.5 || ^12
- typo3/cms-fluid-styled-content: ^11.5 || ^12
- typo3/cms-frontend: ^11.5 || ^12
- typo3/cms-install: ^11.5 || ^12
- typo3/cms-lowlevel: ^11.5 || ^12
- typo3/cms-rte-ckeditor: ^11.5 || ^12
- typo3/cms-tstemplate: ^11.5 || ^12
README
Tester3是为TYPO3页面提供更简单功能测试集成的方案。我认为TYPO3的测试框架有点杂乱。
此扩展目前还在开发中。
目标是能够在每个测试中创建一个封装的测试应用范围,然后填充数据并进行测试。
每个范围都有自己的sqlite数据库、网站配置和TYPO3设置,理想情况下可以带来完全的确定性。
安装
composer require --dev rozbehsharahi/tester3
使用方法
use Rozbehsharahi\Tester3\Builder\FunctionalScopeBuilder; class FunctionalScopeBuilderTest extends TestCase { private FunctionalScopeBuilder $scopeBuilder; public function setUp(): void { $this->scopeBuilder = (new FunctionalScopeBuilder()) ->withVendorPath(__DIR__ . '/../../vendor'); } public function testCanCreateScopeAndAccessibleHomepage(): void { $scope = $this->scopeBuilder->build(); self::assertSame('root page', $scope->getRecord('pages', 1)['title']); self::assertSame(200, $scope->request('/')->getStatusCode()); } }
待办事项
- 为贡献编写docker环境
- 在TYPO3 11上进行测试
- 引入CI测试
- 引入phpstan
- 引入代码检查器
- 更多测试
- 在所有测试之前只设置一次测试数据库,然后将其复制到每个范围(性能)