Laravel TestBench Core 项目教程
1. 项目的目录结构及介绍
testbench-core/
├── src/
│ ├── Core/
│ │ ├── TestCase.php
│ │ ├── ...
│ ├── ...
├── tests/
│ ├── Feature/
│ │ ├── ExampleTest.php
│ │ ├── ...
│ ├── Unit/
│ │ ├── ExampleTest.php
│ │ ├── ...
├── .gitattributes
├── .gitignore
├── CHANGELOG.md
├── LICENSE
├── README.md
├── composer.json
├── phpunit.xml.dist
目录结构介绍
- src/: 包含项目的核心代码,主要用于测试 Laravel 框架的集成测试。
- Core/: 包含测试用例的核心类,如
TestCase.php
。
- Core/: 包含测试用例的核心类,如
- tests/: 包含项目的测试代码。
- Feature/: 包含功能测试的代码。
- Unit/: 包含单元测试的代码。
- .gitattributes: Git 属性文件,用于指定文件的属性。
- .gitignore: Git 忽略文件,指定哪些文件或目录不需要被 Git 管理。
- CHANGELOG.md: 项目变更日志,记录项目的版本更新和变更内容。
- LICENSE: 项目许可证文件,说明项目的开源许可证类型。
- README.md: 项目说明文件,介绍项目的基本信息和使用方法。
- composer.json: Composer 配置文件,定义项目的依赖关系和元数据。
- phpunit.xml.dist: PHPUnit 配置文件,定义测试的配置和环境。
2. 项目的启动文件介绍
项目的启动文件主要是 src/Core/TestCase.php
,它是测试用例的基础类,提供了测试 Laravel 框架所需的基本功能。
TestCase.php
文件介绍
namespace Orchestra\Testbench\Core;
use Illuminate\Foundation\Testing\TestCase as BaseTestCase;
abstract class TestCase extends BaseTestCase
{
// 提供测试用例的基本功能
}
- 命名空间:
Orchestra\Testbench\Core
- 继承:
Illuminate\Foundation\Testing\TestCase
- 功能: 提供测试用例的基本功能,如设置应用环境、加载配置等。
3. 项目的配置文件介绍
composer.json
{
"name": "orchestra/testbench-core",
"description": "Testing Helper for Laravel Development",
"license": "MIT",
"require": {
"php": "^7.4 || ^8.0",
"laravel/framework": "^8.0 || ^9.0 || ^10.0 || ^11.0"
},
"require-dev": {
"phpunit/phpunit": "^9.0 || ^10.0"
},
"autoload": {
"psr-4": {
"Orchestra\\Testbench\\Core\\": "src/"
}
}
}
- name: 项目名称
- description: 项目描述
- license: 项目许可证
- require: 项目依赖的 PHP 版本和 Laravel 框架版本
- require-dev: 开发依赖,如 PHPUnit
- autoload: 自动加载配置,指定命名空间和对应的目录
phpunit.xml.dist
<phpunit>
<testsuites>
<testsuite name="Feature">
<directory suffix="Test.php">tests/Feature</directory>
</testsuite>
<testsuite name="Unit">
<directory suffix="Test.php">tests/Unit</directory>
</testsuite>
</testsuites>
<filter>
<whitelist processUncoveredFilesFromWhitelist="true">
<directory suffix=".php">src</directory>
</whitelist>
</filter>
</phpunit>
- testsuites: 定义测试套件,包括功能测试和单元测试
- filter: 定义白名单,指定需要测试的文件
以上是 Laravel TestBench Core 项目的目录结构、启动文件和配置文件的介绍。