php程序基础框架(Laravel 测试: PHPUnit 入门教程)PHP基础 / PHP基础Laravel框架...

wufei123 发布于 2024-06-30 阅读(5)

介绍 PHPUnit 测试的基础知识,使用基本的 PHPUnit 断言和 Laravel 测试助手介绍PHPUnit 是最古老和最著名的 PHP 单元测试包之一它主要用于单元测试,这意味着可以用尽可能小的组件测试代码,但是它也非常灵活,可以用于很多不仅仅是单元测试。

PHPUnit 包含许多简单和灵活的断言允许您轻松地测试代码,当您测试特定的组件时,这些断言非常有效但是,它确实意味着测试更高级的代码(如控制器和表单提交验证)可能会复杂得多为了帮助开发人员更容易地进行开发, 。

Laravel 框架 包含了一系列 应用程序测试帮助程序 ,允许您编写非常简单的 PHPUnit 测试来测试应用程序的复杂部分本教程的目的是向您介绍 PHPUnit 测试的基础知识,使用默认 PHPUnit 断言和 Laravel 测试助手。

这样做的目的是在本教程结束时,您可以自信地为应用程序编写基本测试前提本教程假设您已经熟悉 Laravel 并知道如何在应用程序目录中运行命令(例如 php artisan 命令)我们将创建几个基本的示例类来学习不同的测试工具如何工作,因此建议您为本教程创建一个新的应用程序。

如果已经安装了 Laravel ,则可以通过运行以下命令创建新的测试应用程序:laravel new phpunit-tests或者,您可以直接使用 Composer 创建新应用程序:composer create-project laravel/laravel --prefer-dist

其他安装方法也可以在 Laravel 文档中找到创建一个新的测试使用 PHPUnit 的第一步是创建一个新的测试类测试类的约定是它们存储在应用程序目录的 ./tests/ 下在这个文件夹中,每个测试类都被命名为 。

Test.php 这种格式允许 PHPUnit 查找每个测试类---它将忽略任何不以 Test.php 结尾的文件在新的 Laravel 应用程序中,你会注意到 ./tests/ 目录中有两个文件: 。

ExampleTest.php 和 TestCase.php. TestCase.php 文件是一个引导文件用于在我们的测试中设置 Laravel 环境这允许我们在测试中使用 Laravel Facades 并为测试助手提供框架,我们将在稍后介绍。

ExampleTest.php 是一个示例测试类,其中包含使用应用程序测试助手的基本测试用例-暂时忽略它要创建一个新的测试类,我们可以手动创建一个新文件,或者运行由 Laravel 提供的 Artisan 命令 。

make:test为了创建一个名为 BasicTest 的测试类,我们只需要运行这个 artisan 命令:php artisan make:test BasicTestLaravel 将创建一个如下所示的基本测试类:

(){$this->assertTrue(true);}}这里要注意的最重要的事情是 test 方法名称上的前缀,与 Test 类名后缀一样,这样 test 前缀告诉 PHPUnit 在测试时运行哪些方法。

如果您忘记了 test 前缀,那么 PHPUnit 将忽略该方法在我们第一次运行测试套件之前,有必要指出 Laravel 提供的默认 phpunit.xml 文件 PHPUnit 在运行时会自动在当前目录中查找名为 。

phpunit.xml 或者 phpunit.xml.dist 的文件您可以在此处配置测试的特定选项这个文件中有很多信息,但是现在最重要的部分是在 testsuite 目录定义:。

./tests/

... 这将告诉 PHPUnit 运行时在 ./tests/ 目录中找到的测试,正如我们之前所知,这是存储测试的约定现在我们已经创建了一个基本测试,并且知道了 PHPUnit 配置,现在是第一次运行测试的时候了。

您可以通过运行以下 phpunit 命令来运行测试:./vendor/bin/phpunit您应该看到与此类似的输出:PHPUnit 4.8.19 by Sebastian Bergmann and contributors. .. Time: 103 ms, Memory: 12.75Mb OK (2 tests, 3 assertions)

现在我们已经有了一个有效的 PHPUnit 设置,现在是时候开始编写一个基本测试了注意,它会统计2个测试和3个断言,因为 ExampleTest.php 文件包含了一个带有两个断言的测试我们的新基本测试包括一个单独的断言,该断言已通过。

写一个基础测试为了帮助 PHPUnit 提供的基本断言,我们将首先创建一个提供一些简单功能的基本类在 ./app/ 目录中创建一个名为 Box.php 的新文件,并复制此示例类:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

河南中青旅行社综合资讯 奇遇综合资讯 盛世蓟州综合资讯 综合资讯 游戏百科综合资讯 新闻93834