为什么要用JsUnit,因为项目不是WEB项目,JS代码无法用网页测试,同样无法通过alert测试,所以采用JsUnit来测试编写的JS代码。

准备工作:下载JsUnit相关资源:www.jsunit.net 解压后如下图:

JsUnit的核心文件(jsUnitCore.js、jsUnitTestManager.js等 )都在app文件夹中,testRunner.html是用来JS测试图形化页面,你不需要通过web服务器访问它,只需要通过文件系统加载它进行浏览就可以了,如下:

通过file输入框加载你的测试页面,点击Run可以运行测试页,下面的Trace level下拉框可以选择日志级别(warn、info、debug)。注意,有的浏览器可能看不见file输入框,请选择合适的浏览器测试。

下面我们编写一个测试用例test01.html:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> my_jsUnit_test01</TITLE>
<script language="JavaScript" src="../app/jsUnitCore.js"></script>
<script language="JavaScript">
var result = null;function add(num1,num2){return num1+num2;
}
function multiply(num1,num2){return num1*num2;
}
//测试方式要以test开头,且不带有参数,jsUnit会自动识别test开头的测试方法并会运行它
function testAdd() {result = add(1,1);debug("add(1,1)="+result);assertEquals("1+1=2", 2, add(1,1));
}
//无效的测试方法
function multiplyTest(){result = multiply(2,3);debug("multiply(2,3)="+result);assertEquals("2*3=6", 5, multiply(2,3));
}
//如果找不到测试方法或要测试的方法不是以标准的test开头时,使用如下方法进行手动指定
function exposeTestFunctionNames() { var tests = new Array(2); tests[0] = "multiplyTest"; tests[1] = "testAdd"; return tests;
}
//setUp()会在每个测试之前调用
function setUp(){info("-->result="+result);result = 0;info("测试夹具,初始化准备状态-->result="+result);
}//tearDown()会在每个测试之后调用
function tearDown(){result = null;warn("清除或重置测试夹具-->result="+result);
}//一次性启动方法,在所有测试函数(包括setUp())调用之前调用,主意该方法中不能有日志操作
function setUpPage(){result = 100;//完成后一定要设置这个,否则会进入阻塞状态  setUpPageStatus = "complete";
}
</script>
</HEAD> <BODY>
test page for testValidArgs();
</BODY>
</HTML> 



打开testRunner.html,在file里填上你的test01.html路径,选择debug日志级别,点击Run,出现测试结果,点击error信息会弹出具体信息:

点击Run后弹出的日志信息如下:

批量测试:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><title>testSuite.html</title><script language="JavaScript" src="../app/jsUnitCore.js"></script><script type="text/javascript">function sampleSuite(){var sampleSuite = new JsUnitTestSuite();//向测试集中增加测试页sampleSuite.addTestPage("tests/taobao_test.html");return sampleSuite;}//必须提供一个名为suite()的方法,jsUnit才能识别测试集,并自动测试function suite(){var testSuite = new JsUnitTestSuite();//向测试集中增加其他的测试集testSuite.addTestSuite(sampleSuite());testSuite.addTestPage("tests/ShopexCore_test.html");return testSuite;}</script></head><body>This is a simple test suite. </body>
</html>

												

JsUnit测试JS相关推荐

  1. js调用c语言程序设计,HTML页面,测试JS对C函数的调用简单实例

    HTML页面,测试JS对C函数的调用 //http://www.w3schools.com/jsref/event_onclick.asp //document.write('Hello World! ...

  2. mocha测试js教程(涉及es6、ts)

    下面是源码目录结构 一.安装依赖 npm init npm install --save-dev mocha npm install --save-dev chai npm install --sav ...

  3. 使用Jest测试js代码

    为什么使用Jest?  1. Jest 可以利用其特有的快照测试功能,通过比对 UI 代码生成的快照文件,实现对 React 等常见框架的自动测试.此外, Jest 的测试用例是并行执行的,而且只执行 ...

  4. 女性安全期测试(JS)

    < HTML > < HEAD > < TITLE > 女性安全期测试 </ TITLE > < META   HTTP-EQUIV =" ...

  5. easy js test--方便对js进行测试,不需要刷新

    若转载请注明 依赖jquery <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "ht ...

  6. 玩转Javascript 给JS写测试

    给js写测试已经不是什么稀奇的事情了,最近项目里用了jasmine和JsTestDriver两种js测试框架.JsTestDriver易于与持续构建系统相集成并能够在多个浏览器上运行测试轻松实现TDD ...

  7. python eel 安卓_测试Eel——进行py与js文件数据传输

    前言 放假在家无聊,翻开吃灰的收藏夹 收藏了这么久的的吗(=・ω・=) 看着这些尘封已久的宝典,自责不已,下定决心要好好学习一番(误)!编程新手,兴趣使然,纯属分享学习经历!有错误欢迎大佬指正. 准备 ...

  8. JS相关环境搭建:Nodejs、karma测试框架、jsDuck、Express

    第一章:压缩js(nodejs,uglify) 第一步:安装nodejs环境 直接下载http://www.nodejs.org/download/ 下载完成后直接下一步下一步即可,完了我们就具有no ...

  9. Karma和Jasmine自动化单元测试——本质上还是在要开一个浏览器来做测试

    1. Karma的介绍 Karma是Testacular的新名字,在2012年google开源了Testacular,2013年Testacular改名为Karma.Karma是一个让人感到非常神秘的 ...

最新文章

  1. mysql数据库管理文件_数据库管理中文件的使用教程
  2. Spring3.2.0-mybatis3.2.0 基于全注解搭建的后台框架-基础版
  3. php回调函数求1+2+3+...+100的值_PHP全栈学习笔记6
  4. MySQL从5.5升级到5.6,TIMESTAMP的变化
  5. centos7 安装 node.js 运行环境、卸载
  6. 复制书稿(信息学奥赛一本通-T1278)
  7. golang判断结构体是否实现了某个接口
  8. 五分钟彻底学会iptables防火墙--技术流ken
  9. 吴恩达神经网络和深度学习-学习笔记-41-特征点检测
  10. MATLAB实现智能优化算法
  11. 微信小程序实战之 goods(订餐页)
  12. 罗马数字转换器|罗马数字生成器
  13. 麦吉尔大学的计算机专业硕士,麦吉尔大学研究生专业设置情况
  14. jQuery Color Animate (jQuery 颜色变换动画) 插件
  15. Leet Code OJ 刷题顺序参考
  16. 《异常点检测》 - 第十章阅读记录 - 离散序列的异常点检测
  17. 利用python爬虫大量爬取网页图片
  18. sdfasfasdf
  19. 2020数学建模参加后感想
  20. 学生信息管理系统——顺序表

热门文章

  1. 提取微信记录为csv文件或txt文件(免root,免安装java)
  2. OSG读取obj模型坐标变化的问题
  3. Windows Server 2012/2016 在桌面上显示“我的电脑”图标
  4. CentOS Stream修改SSH端口及删除端口
  5. 全球及中国汽车装饰和最终产品行业研究及十四五规划分析报告(2022)
  6. 百度地图离线化(API v=1.3)
  7. python实现3d扫描_树莓派制作的3D扫描仪
  8. 为freeswitch 添加h323协议
  9. linux文字命令窗口怎样截图,命令行中截图的小工具 - Linux就该这么学的个人空间 - OSCHINA - 中文开源技术交流社区...
  10. AIOCR自动开发平台能做什么?实现过程及优势浅析