《前端单元测试基础介绍.ppt》由会员分享,可在线阅读,更多相关《前端单元测试基础介绍.ppt(33页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、前端单元测试入门与实践一个实例在一个统计客户端信息的js中,写一个方法,从userAgent字符串获取浏览器引擎,名称,版本号等信息,要求能处理最常用的一些浏览器function _getBrowserInfo(ua)return oBrowser;最后采用的形式这个方法的测试用例YUI().use(test,function(Y)window.Y=Y;var testCaseBrowser=new Y.Test.Case(setUp:function()this.testFun=window._getBrowserInfo;,testBrowserName:function()for(var
2、 i=0;i 验证-开发打开iPhone验证一下打开iPad验证一下打开iTouch验证一下打开安卓验证一下打开windows Phone 验证一下IntroductingYUI TEST结构业务代码测试代码xxTest.htmlyui-min.jsae.jsrun.jstest.js测试代码var testData_fun_getInfo=/*data template:*#ua#,#wordlist#,#name#,#version#*/Mozilla/5.0(Windows NT 6.1;WOW64;rv:2.0.1)Gecko/20100101 Firefox/4.0.1,360se,
3、360chrome,sse,tencenttraveler,maxthon,theworld,ucweb,greenbrowser,undefined,undefined,YUI().use(test,function(Y)window.Y=Y;var testCaseBrowser=new Y.Test.Case(setUp:function()this.testFun=window._getBrowserInfo;,testBrowserName:function()for(var i=0;i testData.length;i+)var ua=testDatai0.toLowerCase
4、();oResult=this.testFun(ua);Y.Assert.areEqual(testDatai1,oResultnavName,ua);,)/add the test cases and suites suite.add(testCaseGetInfo);/run all tests Y.Test.Runner.add(suite);Y.Test.Runner.run(););执行测试加入单元测试后的流程需求提出/变更设计编码编写用例快速UC验证多轮快速的UC验证TestRunner:testGetInfo_name:failed.mozilla/5.0(windows;u;w
5、indows nt 5.1;en-us)applewebkit/534.3(khtml,like gecko)chrome/6.0.472.33 safari/534.3 se 2.x metasr 1.0 Expected:safari(string)Actual:chrome(string)单元测试和功能代码的集成测公用接口测私有方法测闭包方法/*define boolean*/var ENABLE_DEBUG=true;if(window.ENABLE_DEBUG)window._getBaseInfo=_getBaseInfo;function _getBaseInfo()单元测试代码的迭代Mozilla/5.0(Windows;U;Windows NT 5.1;)AppleWebKit/533.9(KHTML,like Gecko)Maxthon/3.0 Safari/533.9一些注意点单元测试不是功能、集成测试单元测试、TDD、敏捷单元测试是开发周期的一部分,和开发本身不可割裂单元测试的意义明确需求(将模糊的需求精确为代码级的需求)快速验证代码是否达到了需求从可测性角度分析自己的设计如何写出良好的用例单元测试有效性的前提进行合适代码设计功能拆分成小模块尽量不要依赖方法、对象之外的变量,而是明确自己的输入输出参考资料http:/