qunit 前端脚本测试用例

首先引用qunit 测试框架文件

<link rel="stylesheet" href="qunit-1.22.0.css">
<script src="qunit-1.22.0.js"></script>

<div id="qunit"></div>
<div id="qunit-fixture"></div>

<script>
function Triangle(a, b, c) {
if (a && b && c && a > 0 && b > 0 && c > 0 && a < (b + c) && b < (a + c) && c < (a + b)) {
if (!(this instanceof Triangle)) {
return new Triangle(a, b, c);
}
this.a = a;
this.b = b;
this.c = c;
this.s=function(){
var p = (this.a+this.b+this.c)/2;
return Math.sqrt(p*(p-this.a)*(p-this.b)*(p-this.c));
}
return true;
}
return false;
}
Triangle.prototype.zj=function(){
return !!((this.a==this.b&&this.a!=this.c)||(this.a==this.c&&this.a!=this.b))
}
Triangle.prototype.qd=function(){
return !!(this.a==this.b&&this.a==this.c)
}
QUnit.test("测试是否为三角形", function(assert) {
assert.equal(Math.sqrt(8)*Math.sqrt(8),8,"Math.sqrt(8)");
assert.equal(Math.ceil(Triangle(Math.sqrt(8),2,2).s()),2,"面积为2");
assert.ok(Triangle("1",1,1), "是三角形");
assert.ok(Triangle(Math.sqrt(8),2,2), "是三角形");

});
QUnit.test("测试三角形类型", function(assert) {
assert.ok(Triangle("1",1,1).zj(), "直角三角形");
assert.ok(Triangle("1",1,1).qd(), "全等三角形");
assert.ok(Triangle(Math.sqrt(8),2,2).zj(), "直角三角形");
assert.ok(Triangle(Math.sqrt(8),2,2).qd(), "全等三角形");
});
</script>

这是一个判断三角形类型的测试用例,下面是运行结果:

时间: 2024-10-11 20:40:11

qunit 前端脚本测试用例的相关文章

前端脚本构建方案

这次主要是说明如何为新模块配置,以实现打包压缩. 文件目录 gulp目录存放构建配置文件. build目录存放构建好的css和js文件. 根目录下有gulpfile.js和package.json文件 js目录存放源代码文件 安装 在本地安装Node,然后安装gulp npm install gulp -g 在项目根目录下执行 npm install 安装所有的构建过程依赖的包,安装好以后,配置模块的构建文件. 配置 模块配置文件格式如下: module.exports = { css: [ '

使用maven结合requirejs管理前端脚本

已有的web项目,一直使用Maven做工程管理,现阶段前端调整为使用requirejs来负责模块加载依赖,同时使用jasmine来完成前端的UT. 便与在maven下统一管理,简单整理了下合在一起的使用,Maven,require,jasmine三者技术细节子去google 一.使用requirejs做模块依赖管理. 叙述下前提摘要 1.为什么使用requirejs 项目越来越大,前端越来越重要,代码越来越多,缺乏有效的管理.于是关注到业内的AMD规范. AMD规范全称是Asynchronous

简述WEB项目前端脚本的一次重构历程,labJs,requireJs实践[转载]

重构前的状态:    大量的js代码混在繁多的Jsp文件中,对第三方的js库依赖也很杂乱.虽然在部分交互性较强的页面中,将js代码分离到了独立的js文件中,但是代码结构及依赖管理依然很乱.不说新人来了无所适从,就是我自己看了,也会一头雾水.不是代码有多深奥,是看着实在太累.于是,一次重构工作开始了. 重构中的事情:    1.首先,整个项目的页脚页头都有用到一些js和js库,这些具有共性的js先抽离到一个独立的head.js与foot.js中,放到include文件夹下.    2.对于公用的j

测试用例脚本 测试用例之间变量可以相互用的方法 实例

1.脚本里面先设置类的变量 iBer.version,其他没也可以访问类的变量,见右侧脚本,先初始化把iBer,然后脚本里面调用的时候传入iber iBer.version 这个变量是所有测试用例都可以调用,并且其中一个用例对他进行赋值,那么下个用例再次调用,值为最新 (达到用例之间变量相互通用) 参考:https://www.cnblogs.com/kaibindirver/p/10737221.html 原文地址:https://www.cnblogs.com/kaibindirver/p/

如何在.net/MVC4中自定义页面验证的前端脚本

其实是很少发技术类文章的, 只是在最近的一次项目中,由于这个位置的技术短板导致折腾好几天,而网上搜的内容又都不直接说明,所以还是决定写出来给人参考一下, 可以帮助大家省点时间. 先来看一下需求: 很是草稿的图片请别介意.需求是这样,当选中图中的下拉菜单选项为第一个时,使用文字验证,当下拉菜单选为第二个选项时,使用数字验证. 这种需求其实比较普遍,很多流程化管理的页面都会有这种需求.比如在申请证件时候可选项是护照还是身份证的时候,对填入内容的验证规则可以是不一样的. 但微软自带的model绑定规则

防止前端脚本JavaScript注入

在使用ajax进行留言的时候,出现了一个问题.因为留言内容写完之后,通过ajax提交内容,同时使用js把留言的内容添加到页面上来.浏览留言的时候也是通过ajax请求,然后再显示的.这样,如果有人在留言里写入了js语句,这结语句都会被执行.解决办法就是对这些特殊字符进行转义再显示出来.如果在jsp中使用jstl标签,就很简单了.直接使用<c:out value="${r.content}"/>这样就行了,会自动进行转义,其中省略了参数escapeXML="true&

web前端面试试题总结---javascript篇

JavaScript 介绍js的基本数据类型. Undefined.Null.Boolean.Number.String. ECMAScript 2015 新增:Symbol(创建后独一无二且不可变的数据类型 ) 介绍js有哪些内置对象? Object 是 JavaScript 中所有对象的父对象 数据封装类对象:Object.Array.Boolean.Number 和 String 其他对象:Function.Arguments.Math.Date.RegExp.Error 参考:http:

[转]前端网络(性能)监测工具berserkJS

berserkJS 是基于 Qt (C++跨平台库)开发的前端网络(性能)监测工具. 它的核心功能是通过内置 webkit 收集由页面实际网络请求相关数据. 偏重于页面上线前检测与评估. 页面性能分析工具,可用 JS 编写自己的检测.分析规则. 基于 Qt 开发,可跨平台编译,部署.内置基于 QtWebkit 的浏览器环境. 源码需在目标系统中编译后,可产生运行于 Windows / Linux / Mac 系统的可执行文件. 工程中自带 Window 系统中动态编译的可执行文件,此文件位于 b

WEB前端常用的测试工具

一.QUnit 前端测试工具 QUnit是一个强大的JavaScript单元测试框架,该框架是由jQuery团队的成员所开发,并且是jQuery的官方测试套件.Qunit是Jquery的单元测试框架,并且被广泛使用在各个项目中. 为了使用Qunit,你仅仅需要去包含2个Qunit文件在你的Html页面.Qunit 包含了qunit.js 作为运行器和测试框架,和qunit.css 文件,座位测试套件页面显示测试结果的样式. 二.Selenium 前端测试工具 Selenium 是ThoughtW