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. SAP中寄售处理

    寄售分两种: 1, 供应商提供货物,我们销售 2,我们提供货物,寄售商销售 [@more@] 1, 供应商提供货物,我们销售 创建PO,购买寄售货物,categories维护成K,然后收货即可. 2, ...

  2. sealed(C# 参考)

    sealed 修饰符可以应用于类.实例方法和属性.密封类不能被继承.密封方法会重写基类中的方法,但其本身不能在任何派生类中进一步重写.当应用于方法或属性时,sealed 修饰符必须始终与 overri ...

  3. 如何通过ildasm/ilasm修改assembly的IL代码

    原文地址:http://kb.cnblogs.com/page/101162/ 这段时间为跟踪一个Bug而焦头烂额,最后发现是Framework的问题,这让人多少有些绝望.所以到微软论坛提了个帖子,希 ...

  4. robot.libdocpkg package

    mplements the Libdoc tool. The command line entry point and programmatic interface for Libdoc are pr ...

  5. jmeter 建立一个监控测试计划

    监控 压力测试和系统管理是有用的. 使用压力 测试,服务器性能监控提供了额外的信息. 这也使得它更容易看到服务器性能之间的关系 在客户端和响应时间. 作为一个系统管理工具, 监控提供了一种简单的方法来 ...

  6. 对Linux新手非常有用的 20个命令

    你打算从Windows换到Linux上来,还是你刚好换到Linux上来?哎哟!!!我说什么呢,是什么原因你就出现我的世界里了.从我以往的经验来说,当我刚使用Linux,命令,终端啊什么的,吓了我一跳. ...

  7. QT-- MainWindow外的cpp文件调用ui

    这几天在学习QT,想写一个类似VIM的小软件,刚开始不注重代码结构,全部实现都写在MainWindow文件中,导致MianWindow文件十分的长而且很难去阅读,就想着把函数按照功能分到不同的cpp文 ...

  8. Qt之Threads和QObjects

    简述 QThread继承自QObject,它发射信号(signals)以表明线程执行开始或结束,并提供了一些槽函数(slots). 更有趣的是,QObjects可以在多线程中使用,发射信号以在其它线程 ...

  9. datagridview 中添加了一个button类型的列,怎么写button的事件

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  10. win7开启硬盘AHCI

    问题描述:装win7的时候没有在AHCI模式下安装,而是在IDE模式下安装的,后来安装完毕以后想更改成AHCI模式,可是更改以后启动电脑蓝屏并重启 解决方法: 如果是在IDE模式下安装的系统,由于在安 ...