winter / wn-dusk-plugin
将 Laravel Dusk 浏览器测试集成到 Winter CMS 中。
Requires
- php: ^8.0
- composer/installers: ~1.0
- laravel/dusk: ^7.1.1
README
将 Laravel Dusk 浏览器测试集成到 Winter CMS 中,为 Winter CMS 和插件开发者提供工具,通过虚拟浏览器在功能完整的 Winter CMS 实例上运行自动化测试。
注意:此插件仅用于开发目的。配置不当,可能会允许用户绕过身份验证并以任何用户身份登录。应将此插件指定为 开发依赖项(即
require-dev
)。
入门
要安装插件,您可以通过 Winter CMS 市场place 安装,或者使用 Composer 安装。
composer require --dev winter/wn-dusk-plugin
然后,运行迁移以确保插件已启用
php artisan winter:up
要运行浏览器测试,您必须在运行测试的机器上安装 Chrome WebDriver 并安装 Google Chrome 浏览器。可以通过运行以下命令安装 WebDriver:
php artisan dusk:chrome-driver
运行测试
默认情况下,浏览器测试配置为针对由内置 Laravel Web 服务器提供服务的网站运行测试。您可以通过运行以下命令启动此服务器:
php artisan serve
要启动浏览器测试,请运行
php artisan dusk
这将执行 Winter CMS 安装上所有启用的插件中的所有可用浏览器测试。如果您只想运行一个插件的测试,您可以添加插件代码作为参数。
php artisan dusk Acme.Blog
在运行测试后,您可以执行以下命令来重新运行失败的测试
php artisan dusk:fails
为您的插件创建浏览器测试
Dusk 插件使您轻松地为您的插件创建浏览器测试。
浏览器测试类应位于您的插件的 tests/browser 文件夹中。每个测试类文件应以 Test.php
结尾,以表明它是一个测试用例的类,并应扩展 Winter\Dusk\Classes\BrowserTestCase
类。
例如,一个博客插件可能希望创建一个包含以下内容的 BlogTest.php 文件:
<?php namespace Acme\Blog\Tests\Browser; use Winter\Dusk\Classes\BrowserTestCase; class BlogTest extends BrowserTestCase { public function testPost() { // the test to run } }
类中的每个测试方法应以 test 开头,以表示它是测试用例。
要运行您的插件的浏览器测试,只需运行以下命令:
php artisan dusk Acme.Blog