目录
作用
前提
安装
安装xUnit插件
win10重启Jenkins
全局环境设置
创建项目配置
描述
源码管理
构建触发器
构建步骤
插件安装
工作空间
php代码phpunit文件示例
项目根目录配置
phpunit.xml
Protect/Tests/test_start.php
composer.json
作用
jenkins 自动化单元测试持续集成php Phpunit 构建流水线示例配置,这里是winwods配置示例
前提
-
java11 下载地址
-
Jenkins 下载地址
-
php环境
-
Phpunit
安装
都是默认安装
安装完请求地址http://127.0.0.1:8080/
后面需要设置账户密码
安装xUnit插件
Jenkins的强大之处之一是可以把各种单元测试框架(JUnit、CppUnit、PHPUnit等)的结果以可视化的方式呈现在页面上。我们先安装xUnit(其中包含了对PHPUnit的支持),以便查看后续单元测试的结果。
win10重启Jenkins
cmd命令方式:
以管理员身份运行cmd.exe
进入到自己的jenkins安装目录:cd D:\Jenkins
停止服务:jenkins.exe stop
启动服务:jenkins.exe start
重启服务:jenkins.exe restart
url重启
关闭jenkins服务
http://localhost:8080/exit 网址就能关闭jenkins服务
重新启动jenkins服务器
http://localhost:8080/restart 网址就能重启jenkins服务
重新加载配置信息
http://localhost:8080/reload 网址就能重新加载配置信息
全局环境设置
地址: http://127.0.0.1:8080/manage/configure
还是多说说这个环境变量的问题
创建项目配置
描述
自己填一下
源码管理
构建触发器
配置代码变更后自动构建配置
构建步骤
windows选择executewindwos
linux 选择Execute shell
插件安装
phpunit需要安装JUnit Plugin组件
还有可以安装一下显示测试报告的包
工作空间
git配置成功后工作空间就能获取到代码
Build new->选择构建 可以构建代码包
php代码phpunit文件示例
项目根目录配置
phpunit.xml
<phpunit bootstrap="protect/Tests/test_start.php" colors="true">
<testsuites>
<testsuite name="unit">
<directory>protect/Tests/Unit</directory>
<directory>protect/Tests/Api</directory>
</testsuite>
</testsuites>
<filter>
<whitelist processUncoveredFilesFromWhitelist="true">
<directory suffix=".php">protect/Biz</directory>
<directory suffix=".php">protect/Service</directory>
<directory suffix=".php">protect/EntityService</directory>
</whitelist>
</filter>
<logging>
<log type="coverage-html" target="./reports" lowUpperBound="100" highLowerBound="100"/>
</logging>
</phpunit>
Protect/Tests/test_start.php
<?php
/**
* Author: wang.kai
* Date: 2023/07/06
* Time: 11:36 AM
*/
$hllEnv = get_cfg_var('dh.env'); //当前部署环境(在php.ini中定义)
$hllEnv or $hllEnv = 'dev';
define('DH_ENV', strtolower($hllEnv)); //dev/stg/prd/gra
define('DH_IS_DEV', $hllEnv == 'dev');
if ($hllEnv != "dev") {
exit();
}
require(__DIR__.'/../../vendor/autoload.php');
composer.json
{
"name": "test/public-test",
"description": "Protect/Tests",
"require-dev": {
"phpunit/phpunit": "6.2.4"
},
"require": {
"php": "^7.0",
"ext-json": "*",
"ext-curl": "*",
"ext-redis": "*"
},
"autoload": {
"psr-4": {
"App\\": "Protect/"
},
"classmap": [
]
}
}
安装phpunit
Composer install
如果修改了composer配置
composer dump-autoload