[ Laravel从入门到精通 ] 测试系列 —— 基于 Github + Travis CI 实现 Laravel 项目的持续集成

在上一篇教程中,学院君介绍了如何在 Github 中集成 CircleCI 实现 Laravel 项目的持续集成,今天,我们基于介绍如何在 Github 中集成 TravisCI 实现 Laravel 项目的持续集成(构建、测试流程自动化),相较于 CircleCI,Travis CI 与 Github 集成更加友好,并且针对开源项目,Travis CI 完全免费,所以推荐在开源项目中使...

[ Laravel从入门到精通 ] 测试系列 —— 基于 Github + CircleCI 实现 Laravel 项目的持续集成

上篇教程学院君给大家介绍了持续集成的概念和意义,并就三个常见的持续集成系统进行了对比,以及在项目中如何选用,今天,我们就从最简单的 CircleCI 入手,结合 Github 代码仓库演示如何对前面开发的待办任务项目进行持续集成。 创建 Github 代码仓库 首先在 Github 中新建一个仓库用于保存待办任务项目代码,我们将其命名为 todoapp: 创建完成后,将本地项目关联到该...

[ Laravel从入门到精通 ] 测试系列 —— 持续集成的定义和常用 CI 系统对比

持续集成的定义 持续集成(Continuous Integration,简称CI)是一种软件开发实践,指的是将代码频繁地集成到主干分支,并且在提交、合并代码时对项目进行构建、编译和测试,如果测试不过,则不能集成,整个流程如下图所示: 与持续集成相似的还有两个概念,那就是持续交付和持续部署。 持续交付(Continuous Delivery)指的是频繁地将集成到主干后的软件新版本,手动部...

[ Laravel从入门到精通 ] 测试系列 —— 通过测试驱动开发构建待办任务项目(二):前端功能和浏览器测试篇

在上篇教程中,学院君已经完成了待办任务项目后端 API 接口的编写和功能测试,现在,我们开始编写 Vue 组件来实现前端的交互界面。 编写前端 Vue 组件 首先在 resources/js/components 目录新增一个 Vue 组件 TasksComponent.vue,并编写模板代码和脚本代码如下:...

[ Laravel从入门到精通 ] 测试系列 —— 通过测试驱动开发构建待办任务项目(一):后端接口和功能测试篇

本来打算写一篇通过 Laravel Dusk 测试前端 Vue 组件的教程,转念一想不如玩把大的,直接基于 Laravel + Vue 构建一个前后端分离的待办任务列表项目,然后在开发过程中通过功能测试用例测试后端 API 接口,通过浏览器测试用例测试前端 Vue 组件与后端的交互,同时引入数据库测试对增删改查进行测试,从而完成一个简单的、相对完整的测试驱动开发项目。 构建应用 创建新项...

[ Laravel从入门到精通 ] 测试系列 —— 在 Laravel 中基于 Dusk 实现浏览器自动化测试快速入门

简介 我们前面介绍的单元测试和功能测试都是基于 PHPUnit 的,PHPUnit 作为一个 PHP 测试框架功能很强大,但是只能用于测试后端接口和功能,无法模拟浏览器端行为测试基于 JavaScript 的前端应用。 为此,Laravel 为浏览器测试提供了一个官方扩展包 —— Laravel Dusk,该特性是在 Laravel 5.4 引入的,之前版本使用的是 Symfony Br...

[ Laravel从入门到精通 ] 测试系列 —— 在 Laravel 中基于 PHPUnit 进行代码测试:HTTP 测试篇(下)

我们继续在上一篇教程的基础上演示如何编写 HTTP 功能测试用例。 测试用户认证 Session 除了用于存储一次性验证错误信息和用户会话状态外,最主要的用途就是维护用户认证的状态,在 Laravel 中,可以通过框架提供的一系列断言方法对用户认证状态进行测试。 我们基于 Laravel 框架提供的认证脚手架中的路由进行测试,如果你还没有在测试项目中生成认证脚手架代码,运行如下 Arti...

[ Laravel从入门到精通 ] 测试系列 —— 在 Laravel 中基于 PHPUnit 进行代码测试:HTTP 测试篇(上)

底层实现 上一篇教程我们介绍了在 Laravel 框架中如何基于 PHPUnit 编写单元测试,其实单元测试基本上使用的都是 PHPUnit 框架提供的原生方法,今天我们来看下 Laravel 如何基于 PHPUnit 实现 HTTP 功能测试。 Laravel 框架开箱为我们提供了一个功能测试用例示例 tests/Feature/ExampleTest.php: <?php n...

[ Laravel从入门到精通 ] 测试系列 —— 在 Laravel 中基于 PHPUnit 进行代码测试:单元测试篇

简介 介绍完 PHPUnit 的基本使用和 Laravel 框架自带的编排文件 phpunit.xml 文件,今天开始我们正式准备在 Laravel 项目中基于 PHPUnit 编写单元测试和功能测试,通过上篇教程介绍的编排文件我们知道,Laravel 的单元测试用例位于 tests/Unit 目录下,框架本身也为我们提供了一个示例测试文件 ExampleTest.php: ...

基于 Laravel 5.5 开发的开源校园管理系统 —— Unifiedtransform

简介 Unifiedtransform 是一个基于 Laravel 5.5 + Bootstrap 3.3.7 开发的开源校园管理系统,主要提供一下功能: 用户及角色管理:管理员、老师、学生、图书管理员、会计等 后勤、值班 成绩 注册 通知公告、教学大纲 图书馆 考试管理 年级、班级 财务、费用 消息、事件 快速上手 安装配置 首先,从 Github 将项目克隆到本地并进入项目目录:...