使用php artisan make:test -- unit UnitTestClassName
创建的单元测试扩展了\Tests\TestCase
使用php artisan make:test FunctionalTestClassName
创建的功能测试也扩展了\Tests\TestCase
[\Tests\TestCase
延伸Illuminate\Foundation\Testing\TestCase
但是,使用php artisan dusk:make DuskTestClassName
扩展了\Tests\DuskTestCase
,又扩展了Laravel\Dusk\TestCase
的Laravel Dusk浏览器测试用例创建>
似乎没有通用类可以向其添加诸如要测试的用户(至少在供应商文件夹之外)之类的东西。
为了允许共享代码,我在app \ Traits \ TestData.php中创建了一个特征:
<?php namespace App\Traits; trait TestData { static $testUserId = 40; public static function checkTestData() { // returns an array of strings describing any problems with the test data setup. ... } ... }
和我
use
我测试中的特征。有什么更好的办法吗?具体来说,我是否缺少通用的测试课程?
我遇到的具体问题是我的特征没有扩展任何TestCase,所以我不能调用类似的函数
$this->assertNotNull($testUser,"Test user not found");
我的特质,所以我需要在TestCase和DuskTestCase中复制该代码。
[使用php artisan make:test创建的单元测试–单元UnitTestClassName扩展了\ Tests \ TestCase功能测试。
self::assertNotNull($testUser,"Test user not found");