利用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 月)的测试期间的常见问题提供最佳实践. 简介 ...
随机推荐
- LintCode Validate Binary Search Tree
Validate Binary Search Tree Given a binary tree, determine if it is a valid binary search tree (BST) ...
- web安全之sql注入原理
sql注入的原理: 将(恶意)的SQL命令注入到后台数据库引擎执行的能力,把信息返回到页面 sql注入产生的原因: 过滤不严谨,导致产生的sql注入. sql注入产生的地方: ...
- [dijkstra+heap优化] 模板
var n,m,s,i,j,x,y,z,l,tot :longint; pre,last,other,len :..] of longint; heap,d,pl :Array[..] of long ...
- 用ABBYY提取文本和表格的方法
在ABBYY FineReader 12 OCR文字识别软件中,有一个插件ABBYY Screenshot Reader,通常情况下与ABBYY FineReader 12一起安装到计算机中,它是一款 ...
- C语言 gets()和scanf()函数的区别
scanf( )函数和gets( )函数都可用于输入字符串,但在功能上有区别.若想从键盘上输入字符串"hi hello",则应该使用 gets 函数. gets可以接收空格:而sc ...
- MySql取得日期(前一天、某一天)
在测试一个统计表格,发现每次手写一个地址实在很烦,干脆就搞个自动计算好时间区间的东西.以下内容作为收获吧! 取得当天: SELECT curdate(); mysql> SELECT curda ...
- PHP模版引擎 – Twig
在网站开发过程中模版引擎是必不可少的,PHP中用的最多的当属Smarty了.目前公司系统也是用的Smarty,如果要新增一个页面只需把网站的头.尾和左侧公共部分通过Smarty的include方式引入 ...
- 在浏览器中输入Google.com并且按下回车之后发生了什么(转载)
原文地址:https://github.com/skyline75489/what-happens-when-zh_CN#id9 本文试图回答一个古老的面试问题:当你在浏览器中输入google.com ...
- SQL Server 2012 创建操作员
数据库可以通知操作员,给操作员发送邮件,就要在SQL Server 的代理中启用数据库邮件,前提是先配置出数据库邮件 右键SQL Server代理,选择属性,按下图设置 保存后,右键操作员,选择新建操 ...
- Android 触摸手势基础 官方文档概览2
Android 触摸手势基础 官方文档概览 触摸手势检测基础 手势检测一般包含两个阶段: 1.获取touch事件数据 2.解析这些数据,看它们是否满足你的应用所支持的某种手势. 相关API: Moti ...