Php Jenkins phpunit配置

news2024/9/29 11:42:29

目录

作用

前提

安装

安装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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/730391.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【docker部署安装ApiSix】

docker安装ApiSi 常见问题-提前查阅 1-端口被占用 确保所需的所有端口&#xff08;默认的 9080/9091/9443/2379/9000&#xff09;未被其他系统/进程使用 #查询端口占用情况 netstat -antp |grep 9443# 如果端口冲突可尝试修改apisix的端口配置&#xff0c; # 但不建议&#x…

0305kali linux配置运行-docker-macos aarm64

文章目录 1 下载运行2 配置2.1 配置系统环境2.2 配置SSH服务2.3 安装工具 3 问题总结结语 1 下载运行 拉取kali linux镜像 docker pull kalilinux/kali-rolling该镜像为“纯净版”系统&#xff0c;没有任何工具&#xff0c;体积小。下面当我们运行起来之后&#xff0c;到容器中…

GlusterFs 分布式复制卷(Distributed-Replicate)性能测试

目录 fio工具参数解释 Glusterfs 和NFS 性能测试 顺序写&#xff1a; 随机写&#xff1a; 顺序读&#xff1a; 随机读&#xff1a; 随机读写&#xff1a; 参数说明&#xff1a; 测试结论&#xff1a; 与NFS对比 压测对比结果 NFS和GlusterFs的优缺点 NFS的优点 NFS…

基于卷积神经网络VGG的猫狗识别

&#xff01;有需要本项目的实验源码的可以私信博主&#xff01; 摘要&#xff1a;随着大数据时代的到来&#xff0c;深度学习、数据挖掘、图像处理等已经成为了一个热门研究方向。深度学习是一个复杂的机器学习算法&#xff0c;在语音和图像识别方面取得的效果&#xff0c;远远…

综合能源系统(1)——综合能源系统基本定义与内涵

综合能源系统关键技术与典型案例  何泽家&#xff0c;李德智主编 综合能源系统基本定义 综合能源系统(Integrated Energy System&#xff0c;IES)的概念最早产生于热电联产领域&#xff0c;侧重于热电系统的协同优化&#xff0c;而后逐渐扩展丰富&#xff0c;涉及电、热、冷…

DEVICENET转MODBUS-TCP网关应用案例

远创智控YC-DNT-TCP连接到DEVICENET总线中做为从站使用&#xff0c;连接到 MODBUS-TCP 总线中做为主站或从站使用。是自主研发的一款 DEVICENET 从站功能的通讯网关。 YC-DNT-TCP常用拓展图 技术指标 网关的 MODBUS 接口可通过拨码选择做为主站&#xff08;客户端&#xff09…

QNAP威联通NAS搭建SFTP服务,并内网穿透实现公网远程访问

文章目录 前言1. 威联通NAS启用SFTP2. 测试局域网访问3. 内网穿透3.1 威联通安装cpolar内网穿透3.2 创建隧道3.3 测试公网远程访问 4. 配置固定公网TCP端口地址4.1 保留一个固定TCP端口地址4.2 配置固定TCP端口地址4.3 测试使用固定TCP端口地址远程连接威联通SFTP 转载自远程内…

【算法集训之线性表篇】Day 05

文章目录 题目思路代码实现效果 题目 将两个有序顺序表合并为一个有序顺序表&#xff0c;函数结果返回值为顺序表。 思路 我们可以利用二路归并排序算法中的Merge函数思路&#xff0c;设置两个指针i&#xff0c;j&#xff0c;分别记录在顺序表a和b中的访问位置&#xff0c;再…

【未解决】No rule to make target ‘/usr/lib/x86_64-linux-gnu/libGL.so‘

测试ros自带的PCL1.8是否能用&#xff0c;网上找个测试代码&#xff0c;编译阶段报错&#xff1a; cmake .. -- Could NOT find ensenso (missing: ENSENSO_LIBRARY ENSENSO_INCLUDE_DIR) ** WARNING ** io features related to ensenso will be disabled -- Could NOT find …

Blender环境纹理材质贴图入门教程

推荐&#xff1a;将 NSDT场景编辑器 加入你的3D开发工具链 大家好&#xff0c;今天跟大家分享Blender材质贴图入门图文教程&#xff0c;一套blender的PBR材质包&#xff0c;和HDRI环境纹理贴图&#xff0c;在文末领取&#xff0c;希望能助到大家更高效完成场景练习。 据我了解…

Linux Deploy(一)Linux Deploy简介与软件安装

一、Linux Deploy简介 Linux Deploy可以在安卓机器上使用chroot容器技术运行arm或者x86的Linux系统&#xff0c;利用该技术可以搭建个人服务器&#xff0c;Linux Deploy可运行多种linux发行版的软件&#xff0c;不失为一个好的家庭微型服务系统&#xff0c;如果想把手机弄成微…

【Spark_BigData】期末复习考试——

复习题目 yarn框架中不包含的进程为 Yarn包括两个主要进程:资源管理器Resource-Manager,节点管理器Node-Manager。 Scheduler zookeeper spark SQL 前身 Shark 在Spark中,DataFrame是一种以RDD为基础的分布式数据集,类似于传统数据库中的二维表格。 HiveContext继承自SQLCon…

安装最新版CMAK,处理报错java.util.NoSuchElementException: key not found: PLAINTEXT

安装最新版CMAK&#xff0c;处理报错java.util.NoSuchElementException: key not found: PLAINTEXT 一、下载CMAK二、解压CMAK三、修改配置文件四、安装jdk11五、启动CMAK六、CMAK界面设置Kafka集群信息七、完整报错八、报错原因九、解决方法 一、下载CMAK CMAK下载地址&#…

将本地项目上传至gitee

一、先去gitee新建仓库 点击新建仓库之后&#xff0c;跳转下图页面 点击创建之后&#xff0c;跳转下图页面 到此为止&#xff0c;这里仓库就创建好了&#xff0c;下面去提交代码 二、本地项目连接远程仓库 1、进入想上传的项目的文件夹&#xff0c;然后右键点击 Git Bash Her…

Stable Diffusion 模特换装 蒙版一键批量提取

有没有想过可以使用算法批量提取图片中模特的服装&#xff0c;然后通过SD进行换装。 一个一个的PS抠图是不是太累&#xff0c;可以使用算法批量提取。相对于 Segment Anything 方法这个比较简单。 文章目录 蒙版批量提取SD换装 蒙版批量提取 import osfrom tqdm import tqdm …

前台测试,工程督导及5G网络优化工程师的区别具体在哪里?

什么是通信? 北邮版《通信原理》教材的第一句话是--通信乃是互通信息。 其实&#xff0c;这句话就说出了通信的本质&#xff0c;通信的目标就是如何让世界的任何人在任何时间&#xff0c;任何地点都进行信息的互通。 大到卫星&#xff0c;小到SIM卡&#xff0c;通信技术覆盖于…

OpenCV实现一张图片的特定区域上添加另一张图片

#include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> using namespace cv;int main( ){Mat image= imread

Vite是如何实现Esbuild打包的

前面文章说过&#xff08;Vite如何实现秒级依赖预构建的能力&#xff09;&#xff0c;在 Vite 依赖预构建的底层实现中&#xff0c;大量地使用到了 Esbuild 这款构建工具&#xff0c;实现了比较复杂的 Esbuild 插件功能和技巧。接下来&#xff0c;我就来带你揭开 Vite 预构建神…

【JVM进阶】JVM看这一篇就够了(类加载器、垃圾回收、JVM调优、内存泄漏、CPU飙高)

文章目录 1、JVM组成1.1、JVM组成及运行流程1.2、程序计数器什么是程序计数器&#xff1f; 1.3、Java堆你能给我详细的介绍Java堆吗? 1.4、虚拟机栈什么是虚拟机栈垃圾回收是否涉及栈内存&#xff1f;栈内存分配越大越好吗&#xff1f;方法内的局部变量是否线程安全&#xff1…

spring boot学习之自定义starter启动器

starter启动器的目标 引入maven包即可自动装配配置&#xff0c;个人理解&#xff0c;如jdbc引入即可操作数据库 实现 1新建springboot工程编写实现类 2编写配置类 3配置 4打包 4新建工程引入使用