项目测试

一个项目,首先得经过一系列的测试(开发人员自测,专门的测试人员测试,客户测试)才能上线运行。

尽早发现问题对大家都有好处,作为一个开发人员,自己写的代码最好充分自测后再提交测试。

测试从不同业务层面分:

unit test            单元测试

Basic Test

functional test  功能性测试

Application Test

selenium test

Application

核心模块的测试---yabe项目的模型层,前面已经进行测试了。

Web接口测试,即yabe项目的控制器层还未测试。

UI测试也未做,即javascript代码的测试。

测试控制器部分

Play基于JUnit可以直接测试应用程序的控制器,这种测试称为“功能性测试”。

一个功能性测试将直接调用play的ActionInvoker,相当于模拟一个HTTP请求;

play接收到请求后,会路由这些请求,调用相应的action,并且响应结果到客户端。

客户端接收到响应后,即一个Response对象,就可以对结果进行分析了!

该部分是在未开发出具体模板的情况下用的(就是还没有页面的时候)?

否,对于返回类型为json或者xml格式的webservice时,这样很方便查看结果!

如果页面都开发好了,直接从页面测试不是更直观吗?

是,能够在页面进行测试,那更好,play提供的selenium测试就是这样的!

第1个测试,对应用程序的主页进行测试

预期:

访问主页,返回状态码200,数据类型text/html,编码为UTF-8

Java代码  
  1. import org.junit.*;
  2. import play.test.*;
  3. import play.mvc.*;
  4. import play.mvc.Http.*;
  5. import models.*;
  6. /**
  7. * FunctionalTest 由Play提供
  8. * 继承它可以获得很多方法,进行测试工作
  9. *
  10. */
  11. public class ApplicationTest extends FunctionalTest {
  12. @Test
  13. public void testThatIndexPageWorks() {
  14. //请求应用程序的主页
  15. Response response = GET("/");
  16. //判断响应码是否为200
  17. assertIsOk(response);
  18. //响应内容类型是否为text/html
  19. assertContentType("text/html", response);
  20. //响应内容的编码是否为utf-8
  21. assertCharset(play.Play.defaultWebEncoding, response);
  22. }
  23. }

第2个测试,测试Admin控制器

预期:

访问/admin,由于未登陆,Security会进行身份验证

身份验证失败,会跳转到登陆页面/login

请求的路径发生了改变,会返回302状态码

Java代码  
  1. @Test
  2. public void testAdminSecurity() {
  3. Response response = GET("/admin");
  4. assertStatus(302, response);
  5. assertHeaderEquals("Location", "/login", response);
  6. }

运行 play test 命令启动yabe项目,打开http://localhost:9000/@tests

选择要运行的测试项,点击Start,开始测试!

测试这部分暂时放一下,空了回来再学!

(十)play之yabe项目【测试】相关推荐

  1. 菜鸟学Java(十九)——WEB项目测试好帮手,Maven+Jetty

    做WEB开发,测试是一件很费时间的事情.所以我们就应该用更简单.更快捷的方式进行测试.今天就向大家介绍一个轻量级的容器--jetty.今天说的etty是Maven的一个插件jetty-maven-pl ...

  2. 看看数据科学家们都在用什么:Github上的十大深度学习项目

    本文作者Matthew May是一位正在进行并行式机器学习算法研究的计算机硕士研究生,同时Matthew也是一位数据挖掘研习者,数据发烧友,热忱的机器学习科学家.开源工具在数据科学工作流中起到了愈发重 ...

  3. 第一百一十四期:盘点十大最新Web UI测试工具

    本文为您盘点目前十大最新Web UI测试工具的各自优缺点,以方便您根据实际情况进行选择. 作者:陈峻 在过去的几年中,业界至少出现了十二种全新的UI测试自动化工具.虽然每一种工具都有各自的侧重点,但是 ...

  4. 项目测试流程规范(不同公司流程规范不一样,仅供参考)

    前言:结合公司的项目情况制定合理的测试流程,提高测试效率和产品质量.核心还是要加强项目成员之间的沟通,在保障研发效率的前提下提高产品质量. 一.测试流程图 上述流程图为项目的测试流程图,每家公司用的项 ...

  5. 唐诗分析 今析古言项目测试 -2

    一.了解项目需求 1.项目背景:唐朝是我国诗歌文化的创作鼎盛时期,为了分析唐代大佬的唐诗创作数量以及常用的诗词,唐诗你的生活. 2.项目开发:Yimm 3.项目测试:Yimm 本项目用爬取了古诗文网的 ...

  6. Github十大深度学习项目

    Github十大深度学习项目,其中包含了大量的代码库,框架以及学习资料.看看Github上的人们都在使用哪些工具,都在从哪些资源那里进行学习.最新KDnuggets软件调查结果表明,在过去12个月,7 ...

  7. 3.Hadoop3.x 项目测试

    文章目录 Hadoop3.x 项目测试 项目一 : 本地运行模式测试 项目二 : 集群文件同步测试 项目三 : 上传文件到集群测试 项目四 : 集群 HDFS Shell 命令测试 项目五 : IDE ...

  8. 新一代大数据任务调度 - Apache DolphinScheduler喜提十大开源新锐项目 最具人气项目

    经 10000+ 开发者公开票选,20+专家评审. 10+ 主编团打分,历经数月打磨,11 月 19 日,由InfoQ 发起并组织的[2020中国技术力量年度榜单评选]结果正式揭晓. 2020 年度十 ...

  9. 【喜讯】Apache DolphinScheduler 荣获 “2020 年度十大开源新锐项目”

    经 10000+ 开发者公开票选,20+专家评审. 10+ 主编团打分,历经数月打磨,11 月 19 日,由InfoQ 发起并组织的[2020中国技术力量年度榜单评选]结果正式揭晓. 2020 年度十 ...

最新文章

  1. 关于Synchronized研伸扩展
  2. C/C++服务器开发的必备利器–libconfig
  3. 云时代的安全解读:云安全≠云计算安全
  4. WKWebView不显示提示框(Swift)
  5. 如何判断数组是静态还是动态分配的
  6. alsa 测试 linux_Linux低延迟服务器系统调优
  7. Fence Repair POJ - 3253
  8. 信号转化java_Java基础知识回顾-7
  9. [编程启蒙游戏] 2. 奇偶数
  10. android 指定资源id,Android 通过名称获取资源ID
  11. javascript节点的操作 创建、添加、移除、移动、复制
  12. PATH与CLASSPATH的区别
  13. 《数字图像处理(第三版)》 第一章 绪论 笔记
  14. i.mx6ull uboot移植
  15. win10中的depends walker不兼容问题
  16. excel合并工作簿
  17. sqrt函数java_Java BigDecimal sqrt()用法及代码示例
  18. VUE-amap遇到的坑和总结
  19. 并查集算法 | Union-Find Algorithm
  20. Python_4_内置结构-元组-字符串-bytes-bytearray-切片

热门文章

  1. abp多租户怎么实现
  2. 计算机名称是pc是什么意思,pc是什么意思
  3. 计算机编程中涉及的一些专业词语
  4. 查看Android手机CPU类型
  5. IOS开发之——数据库-基础知识介绍(01)
  6. 如何实现一个楼中楼的评论系统?
  7. 淘宝API接口,交易,退款退货,物流数据获取,erp系统对接交易订单
  8. 初级 Java 必须学会的 7 个知识点
  9. lua 数组与表的异同
  10. SQL查询语句-练习02+答案(含截图)