jsUnit测试框架

jsUnit测试函数的要遵循的规则与JUnit 3.8类似(比如说测试函数名以test开头等)
对于JsUnit来说,其setUp和tearDown方法与JUnit的运行原理是不同的,JUnit中的setUp和tearDown之间是没有关系的,也就是说不同的测试方法运行在不同的测试对象之中,而JsUnit的各个测试函数是运行在同一个测试页面中。因此setUp和tearDown会针对同一个变量进行操作。

一个完整的例子:

<script type="text/javascript" src="../jsunit2_2/jsunit/app/jsUnitCore.js"></script>//要把那个js文件包含进来

  <script type="text/javascript" src="test1.js"></script>

 

<script type="text/javascript">

  var count = 0;

  // 此函数只执行一次(在页面加载后),类似于JUnit 4.x中的@BeforeClass
  // 注意:并没有与@AfterClass对应的函数存在

  function setUpPage()
  {
 alert('setUpPage Invoked');

    // 这行代码必须放在setUpPage函数的最后一行
 // 告诉JsUnit,setUpPage函数已经执行完毕
 
 setUpPageStatus = "complete";
  }

  function setUp()
  {
 //alert(count++); 

 document.getElementById("value1").value = 2;
 document.getElementById("value2").value = 3;
  }

  function tearDown()
  {
 //alert("tearDown");

 document.getElementById("value1").value = "";
 document.getElementById("value2").value = "";
 document.getElementById("value3").value = "";
  }

  // 以下为测试函数(Test Function)
 
  function testAdd()
  {
 var result = add(1, 2);

 assertEquals(3, result);
  }

  function testSubtract()
  {
 var result = subtract(1, 2);

 assertEquals(-1, result);
  }

  function testMultiply()
  {
 var result = multiply(1, 2);

 assertEquals(2,result);
  }

  function testAddNumbers()
  {
 addNumbers();

 assertEquals("5", document.getElementById("value3").value);
  }

  </script>

 </head>

 <body>
 
  <input type="text" id="value1"><br>
  <input type="text" id="value2"><br>
  <input type="text" id="value3"><br>

  <input type="button" value="Add" οnclick="addNumbers();">


 </body>

 

测试套件:

//测试套件名一定为suite
function suite()
{
 var testSuite = new top.jsUnitTestSuite();//这个是固定写法

    // 增加的测试页面的路径是相对于测试运行器(testRunner.html)的路径
 // 而不是当前页面
 testSuite.addTestPage("../../jsUnit_code/test1.html");
 testSuite.addTestPage("../../jsUnit_code/test1.html");
 testSuite.addTestPage("../../jsUnit_code/test1.html");

 return testSuite;//要返回他
}

在测试套件中又加上测试套件,组合模式
 function mySuite()
  {
 var testSuite = new top.jsUnitTestSuite();

 testSuite.addTestPage("../../jsUnit_code/test1.html");
 testSuite.addTestPage("../../jsUnit_code/test1.html");
 testSuite.addTestPage("../../jsUnit_code/test1.html");

 return testSuite;
  }

  function suite()
  {
 var testSuite = new top.jsUnitTestSuite();

 testSuite.addTestPage("../../jsUnit_code/test1.html");
 testSuite.addTestSuite(mySuite());

 return testSuite;
  }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yjsuge

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值