php - 如何使用 phpstorm 开始单元测试
问题描述
所以首先,我对编码很陌生。这个问题与使用 php 进行单元测试有关。应该很明显,我知道,但我的问题是,为了实际使用我最终将创建的单元测试,我是否还必须编写一些代码来应用测试?所有教程都解释了如何配置我正在使用的 IDE (phpstorm),但没有提供任何示例代码来实际执行测试。phpstorm 中是否有内置功能允许您尝试创建的单元测试?如果我确实需要示例代码,我应该使用什么样的代码以及从哪里可以得到它?任何帮助表示赞赏,谢谢。
解决方案
在开始测试之前,需要采取一些步骤。它适用于 ubuntu 18.04
全局安装php
~$ sudo add-apt-repository -y ppa:ondrej/php \ && sudo apt-get update \ && sudo apt-get install -y php \ && sudo apt-get install -y php-xml \ && sudo apt-get install -y php-mbstring
用于检查安装成功运行
~$ php -v
全局安装作曲家
~$ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php'); " \ . "if (hash_file('sha384', 'composer-setup.php') === " \ . "e0012edf3e80b6978849f5eff0d4b4e4c79ff1609dd1e613307e16318854d24ae64f26d17af3ef0bf7cfb710ca74755a') " \ . "{ echo 'Installer verified'; } " \ . "else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" \ && php composer-setup.php \ && php -r "unlink('composer-setup.php');" \ && sudo mv composer.phar /bin/composer
用于检查安装成功运行
~$ composer -V
(相关哈希始终在作曲家官方文档中)安装 phpunit - php 的单元测试框架
project_folder$ composer require --dev phpunit/phpunit
此命令将创建
composer.json
和composer.lock
文件,vendor
以及项目根目录中的目录。
按照一些协议,我创建了两个文件 -Math.php
并将MathTest.php
自动加载部分添加到composer.json
数学.php
<?php
namespace Source;
class Math
{
public function square($number)
{
return $number * $number;
}
}
数学测试.php
<?php
use PHPUnit\Framework\TestCase;
use Source\Math;
class MathTest extends TestCase
{
public $math;
public function setUp(): void
{
$this->math = new Math();
}
public function testSquareEquals()
{
$this->assertEquals(4, $this->math->square(2));
$this->assertEquals(16, $this->math->square(4));
}
public function testSquareNotEquals()
{
$this->assertNotEquals(3, $this->math->square(2));
$this->assertNotEquals(9, $this->math->square(4));
}
}
作曲家.json
{
"autoload": {
"psr-4": {
"Source\\": "src"
}
},
"require-dev": {
"phpunit/phpunit": "^9.0"
}
}
产生的项目结构
project_folder
├─── src
│ └── Math.php
├─── tests
│ └── MathTest.php
├── vendor
├── composer.json
└── composer.lock
创建自动加载文件:
project_folder$ composer dump-autoload
就是这样。现在您可以通过运行命令开始测试
project_folder$ vendor/bin/phpunit tests
PHPUnit 9.0.1 by Sebastian Bergmann and contributors.
.. 2 / 2 (100%)
Time: 28 ms, Memory: 4.00 MB
OK (2 tests, 4 assertions)
tests
测试的目录在哪里。
phpunit 官方文档中的更多示例
推荐阅读
- javascript - 在angular6中创建动态形式
- c - 宏中的参数计数
- mysql - MYSQL-连接几个表
- c# - Google url抓取不在列表框中循环行
- ios - iOS collectionView Cell for reuse.为什么单元格的背景颜色很好,当我添加徽章时,出现徽章错误?
- php - Laravel Eloquent Paginate 不存在错误
- jasmine - 使用 jasmine-reporters 进行 Onprepare 会导致使用 IE 执行时失败
- r - 无法在 Shinyapp 中删除/选择多个列
- java - 如何在 URLEncoder 中编写 Limit 和 Offset 变量
- amazon-web-services - 限制 IAM 用户对特定 S3 存储桶目录的访问