验收测试从用户角度验证场景。 测试的应用程序可以通过 PhpBrowser 或者 真正的浏览器。 在这两种情况下,浏览器都通过 HTTP 进行通信,因此应用程序应通过Web服务器提供。 验证测试是在 Codeception 框架的帮助下实现的,该框架有一个很好的文档: Codeception for Yii framework Codeception Acceptance Tests 运行基本和高
功能测试从用户的角度验证场景。它类似于验收测试。 但是它不是通过 HTTP 进行通信,而是填充环境,如(填充)POST 和 GET 参数, 然后直接在代码里执行 Application 实例。 功能测试通常比验收测试快,并且在失败时提供详细的堆栈跟踪。 根据老司机的经验,功能测试应该是首选的,除非有专门的 Web 服务器设置 或者由 JavaScript 构建的复杂 UI。 功能测试是借助于具有良
单元测试验证单个代码单元是否按预期工作。 也就是说,给定不同的输入参数, 测试验证类方法返回预期结果。 单元测试通常由编写待测试类的人开发。 Yii的单元测试框架 Codeception 基于 PHPUnit,Codeception 建议遵从 PHPUnit 的文档的进行开发: Codeception for Yii framework Codeception Unit Tests PHPUnit
测试你的代码是非常重要的。 习惯于同时写测试用例和运行代码,现在被视为一个好的习惯。如果使用得当,这种方式将帮助你更加明确自己代码的功能,以及拥有更加可解耦的结构。 测试的通用规则: 测试单元应该集中于最小部分功能,并且证明它是正确的。 每个测试单元必须完全独立。他们都能够单独运行,也可以在测试套件中运行,而不用考虑被调用的顺序。 要想实现这个规则,测试单元应该加载最新的数据集,之后再做一些清理。
排他性功能允许您通过附加到函数来仅运行指定的套件或测试用例.only()。这是仅执行特定套件的示例: describe('Array', function() { describe.only('#indexOf()', function() { // ... }); }); 注意:仍将执行所有嵌套套件。 以下是执行单个测试用例的示例: describe('Array', function()
单元测试 ClojureScript 的测试和 Clojure 语法类似, 通过 cljs.test 来提供. 首先需要引用下面这些函数或者 Macros: (ns my-project.tests (:require [cljs.test :refer-macros [deftest is testing run-tests]])) 然后可以定义一个测试: (deftest test-num
这次的页面测试就没啥难度了吧, 先强制登出 http://192.168.72.102:8080/nutzbook/user/logout 因为UserModule里面的logout方法已经删除,如果出现404,也只是shiro配置的问题了 一如既往,登陆, 成功后跳转到用户详情页 http://192.168.72.102:8080/nutzbook/user/login 访问用户列表页,
一切就绪,请再仔细检查一下本章的修改,然后启动Tomcat, 首先的输出的日志将会发生变化 [INFO ] 20:33:09.574 org.apache.shiro.web.env.EnvironmentLoader.initEnvironment(EnvironmentLoader.java:128) - Starting Shiro environment initialization. [
启动Tomcat, 如无异常, 应该能看到多个建表语句输出 2015-04-16 23:57:19,738 org.nutz.dao.impl.sql.run.NutDaoExecutor._runStatement(NutDaoExecutor.java:313) DEBUG - CREATE TABLE t_user( id INT(32) AUTO_INCREMENT, name VARCH
又是一年一度的页面测试, 启动Tomcat,访问项目首页, 一如既往的登陆页面, 可以看到验证码出来了 http://127.0.0.1:8080/nutzbook/ 直接点击登陆或填写错误的验证码,会弹出提示"验证码错误" 一切正常的话, 自然就是登陆成功的提示,这个就不截图了. 可能出现的问题 某某类找不到, 看看是不是simplecaptcha版本太低之类的 总是验证码错误, 检查你的眼镜
启动Tomcat, 应无异常输出,然后访问首页,进行登录操作 http://127.0.0.1:8080/nutzbook/ 登录完成后,访问如下地址,即可看到详情页 http://127.0.0.1:8080/nutzbook/user/profile/ 输入有效的邮箱地址, 点击更新 点击"发送验证邮件",并观察后台日志输出 如果出错,检查输入的邮箱地址是否正确,且邮件服务器参数正常 打开
启动Tomcat, 观察log输出 有建表的Log(加UserProfile类之后的第一次启动会有) URL映射的Log输出了/usr/profile相关的路径 Upload方法的临时文件池的初始化log 2015-04-13 10:40:26,299 org.nutz.filepool.NutFilePool.<init>(NutFilePool.java:23) INFO - Init fi
GatewayWorker支持服务端向客户端定时发送心跳包检测连接是否存活 为什么需要心跳检测? 正常的情况客户端断开连接会向服务端发送一个fin包,服务端收到fin包后得知客户端连接断开,则立刻触发onClose事件回调。 但是有些极端情况如客户端掉电、网络关闭、拔网线、路由故障等,这些情况客户端无法发送fin包给服务端,服务端便无法知道连接已经断开。如果客户端与服务端定时有心跳数据传输,则会比
Mpx 会生成源码与最终产物包的映射关系,结合微信小程序提供的 miniprogram-simulate 来进行单元测试的工作。 因为目前仅微信提供了仿真工具,暂时只支持微信小程序平台的单元测试。如果需要 E2E 测试,则和框架无关了,可参考微信的小程序自动化。 简单的断言 组件必须是被项目真实使用的,且经过一次构建才可被测试。构建时 MpxPlugin 的配置信息中要将 generateBuil
测试Behavior Behavior 遵循TP的自动加载方式,所以直接创建对应的Behavior 并填写模拟参数调用run()方法即可 样例: 行为PaidChongzhiOrderBehavior.class.php /** * 支付充值订单后 */ class PaidChongzhiOrderBehavior extends BaseBehavior { /**