chadanuk / dusk-wordpress
WordPress 站点无头 Chromium 测试的 Laravel dusk
dev-master
2020-04-06 15:26 UTC
Requires
- php: >=7.0
- duncan3dc/dusk: ^0.7.0
- guzzlehttp/guzzle: ^6.4.1
- phpunit/phpunit: ^6.0
- wp-phpunit/wp-phpunit: ^5.4
This package is auto-updated.
Last update: 2024-09-29 06:02:40 UTC
README
Laravel Dusk for WordPress (bedrock -https://roots.io/bedrock/)
安装
composer require chadanuk/dusk-wordpress
文件结构
我们建议添加以下文件结构
- phpunit.xml
- .env.dusk(包含测试数据库名称)
- 测试
- 浏览器
- 控制台
- 屏幕截图
- ExampleTest.php
- 浏览器
phpunit.xml
<?xml version="1.0" encoding="UTF-8"?> <phpunit bootstrap="vendor/chadanuk/dusk-wordpress/bootstrap.php" backupGlobals="false" backupStaticAttributes="false" colors="true" verbose="true" convertErrorsToExceptions="true" convertNoticesToExceptions="true" convertWarningsToExceptions="true" processIsolation="false" stopOnFailure="false"> <testsuites> <testsuite name="Dusk Wordpress Theme Test Suite"> <directory>tests</directory> </testsuite> </testsuites> <filter> <whitelist> <directory suffix=".php">/</directory> </whitelist> </filter> <php> <env name="WP_ENV" value="testing"/> <env name="DB_NAME" value="database_name"/> <env name="DB_USER" value="root"/> <env name="DB_PASSWORD" value=""/> <env name="WP_THEME" value="theme_name"/> <const name="WP_INSTALLING" value="true"/> </php> </phpunit>
编写测试
您可用的断言在 Laravel 网站上有文档说明(https://laravel.net.cn/docs/5.6/dusk#available-assertions)
ExampleTest.php
<?php namespace Tests\Browser; use Chadanuk\DuskWordpressTests\Traits\WordpressPost; use Chadanuk\DuskWordpressTests\TestCase as TestCase; class ExampleTest extends TestCase { /** * @test */ public function can_see_home_page_title() { $postFactory = new \WP_UnitTest_Factory_For_Post(); $postId = $postFactory->create_object([ 'post_title' => 'Home page title', 'post_type' => 'page', 'post_name' => 'home' ]); $this->browse(function ($browser) { $browser->visit('/')->screenshot('home') ->assertSee('Home page title'); }); } }
运行测试
vendor/bin/phpunit tests/Browser/ExampleTest.php