利用should.js进行测试
nodejs 环境 , 安装should.js包 (npm install should)
var should = require('should');
//正确1, 错误0 100
precentNum2(1,0).should.eql(100);
//正确0, 错误1 0
precentNum2(0,1).should.eql(0);
//正确0, 错误0 --
precentNum2(0,0).should.eql('- -');
//正确1, 错误1 50
precentNum2(1,1).should.eql(50);
//正确1, 错误3 25
precentNum2(1,3).should.eql(25);
//正确1, 错误2 33
precentNum2(1,2).should.eql(33);
//正确1, 错误2 33
precentNum2(1,4).should.eql(33);
function precentNum2(num, num2) {
var correctQuestions = parseInt(num);
var wrongQuestions = parseInt(num2);
if((correctQuestions + wrongQuestions) === 0) {
return "- -";
} else if(correctQuestions === (correctQuestions + wrongQuestions)) {
return 100;
} else if(correctQuestions === 0 && wrongQuestions !== 0) {
return 0;
} else {
var temp = correctQuestions / (correctQuestions + wrongQuestions);
var tempResult = parseInt(temp.toFixed(2).substr(2,2));
if(tempResult > 0 && tempResult < 101) {
return tempResult;
} else {
return "- -";
}
}
}
mocha + should (npm install -g mocha)
var should = require('should');
describe('Precent', function(){
describe('Precent Test', function(){
it('Test precentNum2', function(){
//正确1, 错误0 100
precentNum2(1,0).should.eql(100);
//正确0, 错误1 0
precentNum2(0,1).should.eql(0);
//正确0, 错误0 --
precentNum2(0,0).should.eql('- -');
//正确1, 错误1 50
precentNum2(1,1).should.eql(50);
//正确1, 错误3 25
precentNum2(1,3).should.eql(25);
//正确1, 错误2 33
precentNum2(1,2).should.eql(33);
//正确1, 错误2 33
precentNum2(1,4).should.eql(20);
})
})
});
function precentNum2(num, num2) {
var correctQuestions = parseInt(num);
var wrongQuestions = parseInt(num2);
if((correctQuestions + wrongQuestions) === 0) {
return "- -";
} else if(correctQuestions === (correctQuestions + wrongQuestions)) {
return 100;
} else if(correctQuestions === 0 && wrongQuestions !== 0) {
return 0;
} else {
var temp = correctQuestions / (correctQuestions + wrongQuestions);
var tempResult = parseInt(temp.toFixed(2).substr(2,2));
if(tempResult > 0 && tempResult < 101) {
return tempResult;
} else {
return "- -";
}
}
}
利用should.js进行测试的更多相关文章
- 利用Node.js对某智能家居服务器重构
原文摘自我的前端博客,欢迎大家来访问 http://www.hacke2.cn 之前负责过一个智能家居项目的开发,外包重庆一家公司的,我们主要开发服务器监控和集群版管理. 移动端和机顶盒的远程通信是用 ...
- 利用exif.js解决ios手机上传竖拍照片旋转90度问题
html5+canvas进行移动端手机照片上传时,发现ios手机上传竖拍照片会逆时针旋转90度,横拍照片无此问题:Android手机没这个问题. 因此解决这个问题的思路是:获取到照片拍摄的方向角,对非 ...
- 【转】利用 three.js 开发微信小游戏的尝试
前言 这是一次利用 three.js 开发微信小游戏的尝试,并不能算作是教程,只能算是一篇笔记吧. 微信 WeChat 6.6.1 开始引入了微信小游戏,初期上线了一批质量相当不错的小游戏.我在查阅各 ...
- 利用exif.js解决手机上传竖拍照片旋转90\180\270度问题
原文:https://blog.csdn.net/linlzk/article/details/48652635/ html5+canvas进行移动端手机照片上传时,发现ios手机上传竖拍照片会逆时针 ...
- 利用exif.js解决ios或Android手机上传竖拍照片旋转90度问题
html5+canvas进行移动端手机照片上传时,发现ios手机上传竖拍照片会逆时针旋转90度,横拍照片无此问题:Android手机没这个问题. 因此解决这个问题的思路是:获取到照片拍摄的方向角,对非 ...
- 利用Vue.js实现拼图游戏
之前写过一篇<基于Vue.js的表格分页组件>的文章,主要介绍了Vue组件的编写方法,有兴趣的可以访问这里进行阅读:http://www.cnblogs.com/luozhihao/p/5 ...
- 利用pixi.js制作精灵动画
CSS Sprites 技术对于广大的前端工程师来说应该是一点也不陌生.国内开发者昵称为CSS精灵,通过一定的技术手段,让精灵动起来,我称其为精灵动画,那么目前有哪些实现方式 呢?下面让我们详细的聊聊 ...
- 利用tween.js算法生成缓动效果
在讲tween类之前,不得不提的是贝塞尔曲线了.首先,贝塞尔曲线是指依据四个位置任意的点坐标绘制出的一条光滑曲线.它在作图工具或动画中中运用得比较多,例如PS中的钢笔工具,firework中的画笔等等 ...
- 利用Selenium自动化web测试
简介: Selenium 是一个没有正式指导手册的开源项目,这让测试人员的问题调查很费时间.本文为基于 Selenium 1.0(发布于 2009 年 6 月)的测试期间的常见问题提供最佳实践. 简介 ...
随机推荐
- Can 't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock '(2) ;
Can 't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock '(2) ; 如果你在网上search这个 ...
- ZFIR054-现金流量表
*********************************************************************** * Title : ZFIR102 * * Applic ...
- LVM逻辑卷管理
一.LVM简介 LVM(Logic Volume Manager)逻辑卷管理,简单理解就是将一块或多块硬盘的分区在逻辑上集合,当一块大硬盘来使用. 其特点是: 1.可以实现在线动态扩展,也可以缩减 2 ...
- 在linux和windows下自动备份数据库
摘要: 详细介绍在windows和linux下自动备份数据库的过程,希望可以让新手立即上手吧! 本文档内容共分为2大部分:linux和windows Linux和windows都分为:准备工作和操作阶 ...
- Squid configuration directives 3.0
WELCOME TO SQUID 3.0.STABLE25-20100412 ---------------------------- This is the default Squid config ...
- boost -- scoped_lock V.S. mutex lock/unlock —— why scoped_lock is recommanded?
why scoped_lock is recommanded? 其实,这和RAII idiom变流行是一样的原因:因为你可以确保任何情况下离开执行范围都会解锁mutex. 注意,这不仅仅是说你可能忘记 ...
- Updatepanel 注册javascript 方法
ScriptManager.RegisterStartupScript(this.UpdatePanel1, this.GetType(), "test", "alert ...
- byte与char的区别
byte 是字节数据类型 ,是有符号型的,占1 个字节:大小范围为-128—127 .char 是字符数据类型 ,是无符号型的,占2字节(Unicode码 ):大小范围 是0—65535 :char ...
- SQL2005 遍历表插入
/* sql2005遍历表(方法1) insert into 数据表(userid,adddate) values((select userid from 用户表),date); */ /*sql20 ...
- Swagger+Spring mvc生成Restful接口文档
简介 Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务.总体目标是使客户端和文件系统作为服务器以同样的速度来更新.文件的方法,参数和模型紧密集 ...