var script = document.createElement('script'); script.src = 'http://static.pay.baidu.com/resource/baichuan/ns.js'; document.body.appendChild(script);

var script = document.createElement('script'); script.src = 'http://static.pay.baidu.com/resource/baichuan/ns.js'; document.body.appendChild(script);

下载文档到电脑,查找使用更方便
5下载券  1人已下载

下载

还剩7页未读,继续阅读


    <script language="JavaScript">         var arg1;         var arg2; 
        function setUpPage() {             arg1 = 2;             arg2 = 2; 
            setUpPageStatus = "complete";         } 
        function testAddValidArgs() {             arg1 ++              arg2 ++  
            assertEquals("加法", 6, addTwoNumbers(arg1, arg2));         } 
        function testSubtractValidArgs() {             arg1 ++              arg2 --  
            assertEquals("减法", 2, subtractTwoNumbers(arg1, arg2));         } 
        function testMultiplyValidArgs() {             arg1 ++              arg2 ++  
            assertEquals("乘法", 15, multiplyTwoNumbers(arg1, arg2));         } 
        function testDivideValidArgs() {             arg1 ++              arg2 --  
            assertEquals("除法", 3, divideTwoNumbers(arg1, arg2));         } 
</script>   </head>   <body> 
    This is an example of using setUpPage.   </body> </html> 
测试后,我们可以发现,上面的结果都正确,是因为setUpPage()方法只在所有测试前执行一次。现在我们把此方法换成setUp()来比较一下效果。 
<html>   <head> 
    <title>Using setUp and tearDown</title>     <script language="JavaScript" 
src="../app/jsUnitCore.js"></script> 
 <script language="JavaScript" src="simple2.js"></script>     <script language="JavaScript">         var arg1;


        var arg2; 
        function setUp() {             arg1=2              arg2=2          } 
        function testAddValidArgs() {             arg1 ++              arg2 ++  
            assertEquals("加法", 6, addTwoNumbers(arg1, arg2));         } 
        function testSubtractValidArgs() {             arg1 ++              arg2 --  
            assertEquals("减法", 2, subtractTwoNumbers(arg1, arg2));         } 
        function testMultiplyValidArgs() {             arg1 ++              arg2 ++  
            assertEquals("乘法", 9, multiplyTwoNumbers(arg1, arg2));         } 
        function testDivideValidArgs() {             arg1 ++              arg2 --  
            assertEquals("除法", 3, divideTwoNumbers(arg1, arg2));         } 
    </script>   </head>   <body> 
    This is an example of using setUpPage.   </body> </html> 
五 测试集 
   测试集把不同的测试页分组组织,这样只需运行一个测试集就能一次运行类似的一组测试。测试集其实就是一些特殊的测试页,其中包含的测试页或其他测试集(相应地就有了一个主测试集)会按顺序运行。 
1)测试集中不能包含任何测试函数; 
2)测试集必须包含一个返回JsUnitTestSuite对象的suite()函数; 
3)向测试集中增加测试页或子测试集,可以使用方法:
addTestPage(testPage) 和addTestSuite(testSuite); 
4)addTestPage(testPage)向测试集中增加单个的测试页,参数为测试页文
件相对于测试运行工具的相对路径名;


5)addTestSuite(testSuite) 向测试集中增加另一个测试集,参数为在suite
函数所在的同一个页面中声明的JsUnitTestSuite; 
   下面我们用之前的测试页组成一个测试集: 
<html>   <head> 
    <title>Using setUp and tearDown</title>     <script language="JavaScript" 
src="../app/jsUnitCore.js"></script>         <script language="JavaScript">        function sampleSuite() { 
            var sampleSuite = new top.jsUnitTestSuite();             sampleSuite.addTestPage("myModel/1.html");             sampleSuite.addTestPage("myModel/2.html");             return sampleSuite;         } 
        function suite() { 
            var testSuite = new top.jsUnitTestSuite();             testSuite.addTestSuite(sampelSuite());             testSuite.addTestPage("myModel/4.html");             return testSuite;         } 
    </script>   </head>   <body> 
    This is an example of using setUpPage.   </body> </html> 
六 跟踪与日志 
JsUnit支持跟踪!使用以下3个函数完成,任何测试都可以调用(注意,在每个函数中,value参数是可选的): 
warn(message, [value]) inform(message, [value]) debug(message, [value]) 
JsUnit支持3个跟踪级别:warn(警告)< info(信息)< debug(调试),即如果运行测试时选择debug,就会看到warn()、inform()或debug()函数发出的所有消息。如果选择warn,则只会显示由warn()函数发出的消息,选择info则会显示由warn()和inform()发出的消息。默认值为no tracing(不跟踪),可以在测试工具中设置:


 
 将跟踪级别调到debug,然后我们修改一下之前的例子,加入跟踪代码: 
<html>   <head> 
    <title>A Simple Test Page</title>     <script language="JavaScript" 
src="../app/jsUnitCore.js"></script>     <script language="JavaScript"> 
        function addTwoNumbers(value1, value2) {           warn("this is a warning message"); 
            warn("this is a warning message with a value", value1);             return value1 + value2;         } 
        function testValidArgs() { 
          inform("this is an inform message"); 
            assertEquals("2 + 2 is 4", 4, addTwoNumbers(2, 2));         } 
        function testWithNegativeNumbers() { 
          debug("this is a debug message"); 
            assertEquals("negative numbers: -2 + -2 is -4", -4,        addTwoNumbers(-2, -2));         } 
    </script>   </head>   <body> 
    This is a simple test page for addTwoNumbers(value1, value2).   </body> </html> 
运行结果如下:

10 
七 使用标准/定制查询串 
  (1)testPage参数 
如果你有一个测试集或测试页,需要经常运行,你可以使用测试运行工具支持的testPage 查询串来运行测试。例如,在浏览器中输入: 
File:///E:/jsunit2_2/jsunit/testRunner.html?testPage=E:/jsunit2_2/jsunit/myModel/1.html 
回车,会发现测试运行工具运行了起来。 (2)autoRun参数 
   运行了上面的地址,我们还需要自己手动去点击run运行,现在我们使用autoRun参数来让它自动运行。 
file:///E:/jsunit2_2/jsunit/testRunner.html?testPage=E:/jsunit2_2/jsunit/myModel/1.html&autoRun=true 
  在浏览器中输入以上地址,我们就会看到测试结果了。 
  使用这些带参数的查询串,可以方便我们做一些经常性的测试,我们可以把它加入书签,这样测试起来就很简单了。

jsunit测试的更多相关文章

  1. JavaScript单元测试框架JsUnit基本介绍和使用

    JavaScript单元测试框架JsUnit基本介绍和使用 XUnit framework XUnit是一套标准化的独立于语言的概念和结构集合,用于编写和运行单元测试(Unit tests). 每一个 ...

  2. JavaScipt测试调研

    JavaScript测试调研 前言 与其他语言相似,JavaScript的测试也会包括代码审查.单元测试等内容.本文就JavaScript的测试调研了一些测试工具和测试框架. 相对于其他很多高级语言语 ...

  3. ajax 基础教程

    这是一本什么书?这是一本技术类的书籍,主要从历史.XMLHttpRequest对象.怎么样于服务器交互.构建完备的Ajax开发工具箱.使用jsUnit测试javascript 代码,总之就是让我们从这 ...

  4. 100本最棒的web前端图书推荐

    前端技术,要学习的内容太多了,当你不知道从哪里开始的时候,你就先从看书开始,边看书边码代码,这个是学习编程必须的过程,因为你看一百遍,还不如自己写一遍,写一遍,第一可以加印象,第二便于更好的理解. 熟 ...

  5. JavaScript测试工具

    大家都知道Javascript的测试比较麻烦,一般是开发使用一些浏览器的插件比如IE develop bar或是firebug来调试,而测试往往需要通过页面展示后的js错误提示来定位.那么还有其他比较 ...

  6. JsUnit && JUnit之讲解

    首先我们定义我们的函数 这里以最简单的加减乘除四个方法来进行测试 建立我们的js文件myjs.js function add(num1,num2){ return num1 + num2; } fun ...

  7. javascript进阶——测试和打包分发

    建立一个面向对象的好的代码基础后,为了达到代码重用的目的,通过调试使用适当的测试用例进行测试尤为必要,之后就是打包分发的主题. 一.调试与测试 1.调试 Firebug:包含了错误控制台.调试器.DO ...

  8. selenium自动化爬虫测试

    import time from selenium import webdriver from lxml import etree from selenium.webdriver import Act ...

  9. SignalR系列续集[系列8:SignalR的性能监测与服务器的负载测试]

    目录 SignalR系列目录 前言 也是好久没写博客了,近期确实很忙,嗯..几个项目..头要炸..今天忙里偷闲.继续我们的小系列.. 先谢谢大家的支持.. 我们来聊聊SignalR的性能监测与服务器的 ...

随机推荐

  1. Unity3D研究院编辑器之不实例化Prefab获取删除更新组件(十五)

    http://www.xuanyusong.com/archives/3727 感谢楼下的牛逼回复更正一下,我表示我也是才知道.. 其实不需要实例化也能查找,你依然直接用GetComponentsIn ...

  2. Event 讲解

    应用场景:某件事发生时,需要采取多步的动作,此时就用到了 使用方法:创建event方法一,使用命令 make:event  生成事件在app/Events目录下,命令make:listener 生成监 ...

  3. robotframework笔记24

    侦听器接口 机器人框架有一个侦听器接口,可以用于接收 对测试执行通知. 示例用法包括 外部测试监控,测试失败时发送邮件消息, 与其他系统进行通信. 侦听器API版本3也使得 它可以修改测试在测试执行和 ...

  4. [Eclipse] 详细设置护眼背景色和字体颜色并导出

    http://jingyan.baidu.com/article/d5a880eb6c4f7813f147ccef.html Eclipse是一款码农们喜闻乐见的集成开发平台,但是其默认的主题和惨白的 ...

  5. Core Data系列文章(一)Core Data基础

    在iOS开发数据库SQLite的使用介绍了iOS中使用SQLite对数据进行持久化存储,实际上是对数据库直接进行操作,而苹果专门有一套API来间接的对数据进行持久化存储,而且主要针对用户创建的对象 - ...

  6. HDU----(2157)How many ways??(快速矩阵幂)

    How many ways?? Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)T ...

  7. hdu-----(1113)Word Amalgamation(字符串排序)

    Word Amalgamation Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others ...

  8. c++读入之 -- 汉字读入遇到的问题

    好吧,课题和汉语处理有关,于是就要求用c++来读入汉字进行处理. 首先使用wchar_t字符即宽字符,然后这样定义: #include <cstdio> #include <cwch ...

  9. Tomcat配置虚拟主机的两种方式

    1.基于主机名的虚拟主机配置 在随意盘符下建立一个目录作为虚拟地址的目录.例如:F:\virtualhost1,在其下建立 test1.html,写入内容例如:test 在tomcat/conf/se ...

  10. 解决tomcat部署多个虚拟机时报IllegalStateException: Web app root system property already set to 的问题

    解决tomcat部署多个虚拟机时报IllegalStateException: Web app root system property already set to 的问题 在web.xml中添加如 ...