利用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 月)的测试期间的常见问题提供最佳实践. 简介 ...
随机推荐
- C#中get和set的写法
class program{ private string name; public string XXXXXX{ get{return name;} set{name=value;} } } 在C# ...
- C# 托管资源与非托管资源
在.net 编程环境中,系统的资源分为托管资源和非托管资源. 托管资源: Net平台中,CLR为程序员提供了一种很好的内存管理机制,使得程序员在编写代码时不要显式的去释放自己使用的内存资源(这些在先前 ...
- go_databasetest
go_databasetest go语言的数据库测试: go get github.com/Go-SQL-Driver/MySQL package main import ( _"githu ...
- Firebug在Firefox DevTools 中复活
英文:Firefox,编译:开源中国 链接:www.oschina.net/news/80230/firebug-lives-on-in-firefox-devtools 技术最前线转注:2016年1 ...
- Python Mysql 篇
Python 操作 Mysql 模块的安装 linux: yum install MySQL-python window: http://files.cnblogs.com/files/wupeiqi ...
- putty连接ubuntu虚拟机缓慢问题的解决
vmware安装系统使用了ubuntu,安装后每次用PUTTY登录发现都到等很久,经过上网搜索,发现是Ubuntu安全机制导致的连接缓慢问题, 解决方法如下; 1. sudo vim /etc ...
- HTML5 直播协议之 WebSocket 和 MSE
当前为了满足比较火热的移动 Web 端直播需求, 一系列的 HTML5 直播技术迅速的发展了起来. 常见的可用于 HTML5 的直播技术有 HLS, WebSocket 与 WebRTC. 今天我要向 ...
- access remote libvirtd
访问远程libvirtd服务因为是在一个可信环境中运行,所以可以忽略安全方面的操作,步骤如下:(1)更改libvirtd配置 1.1 更改/ect/sysconfig/libvirtd文件,打开 ...
- Parquet文件结构笔记
Parquet是面向分析型业务的列式存储格式,由Twitter和Cloudera合作开发,2015年5月从Apache的孵化器里毕业成为Apache顶级项目,那么这里就总结下Parquet数据结构到底 ...
- [家里蹲大学数学杂志]第053期Legendre变换
$\bf 题目$. 设 $\calX$ 是一个 $B$ 空间, $f:\calX\to \overline{\bbR}\sex{\equiv \bbR\cap\sed{\infty}}$ 是连续的凸泛 ...