摘要: 测试在软件开发中至关重要,目前针对不同的开发语言,都有比较成熟的测试框架,如jUnit,cUnit,cppUnit,nUnit等,我们统称为xUnit,他们的都遵守统一的规则: 针对代码测试 断言 启动测试 结果生 ...
其中,Y.Test.Case用来生成一个测试用例,而Y.Test.Suite是一个测试集,可以add多个测试用例,Y.Test.Runner用来生成一个测试实例对象,调用其run方法即可开始测试。 Y.Test.Case需要接纳一个object对象作为参数,包含如下属性及方法 Name(用例的名称) setUp(用于在所有测试方法执行之前执行,初始化一些变量信息等) tearDown(用户在每个测试方法执行完毕之后,清除变量,释放内存等) testMethod1(具体的测试方法) testMethod2(具体的测试方法) PS:对于setUp及tearDown的理解,setUp在每个测试方法运行之前都会被重新执行,重新初始化,以此防止原始数据被其它测试方法锁污染。 Y.Assert即断言,是所有xUnit自动化测试框架的核心方法,具体方法使用时可参考官方文档,其实YUI test主要是进行单元测试,对一些核心算法的内部数据结构进行测试,以保证方法的正确性,对界面的测试就需要灵活利用断言来组合测试方法。 测试结果如下: 前面提到,测试结果的收集,上报也是xUnit所必不可少的,同样,YUI test也有这样的功能,在生成TestRunner的时候,为其绑定测试完成事件 |
testRunner.subscribe(testRunner.COMPLETE_EVENT, Y.bind(this.testCompleteEvent, this));var testCompleteEvent = function(data){this.console.log("测试完成了下面是测试结果");var testRunner = Y.Test.Runner;var resultObj = testRunner.getResults(Y.Test.Format.JSON);this.console.log(resultObj);resultObj = testRunner.getResults(Y.Test.Format.XML);this.console.log(resultObj);resultObj = testRunner.getResults(Y.Test.Format.JUnitXML);this.console.log(resultObj);resultObj = testRunner.getResults(Y.Test.Format.TAP);this.console.log(resultObj);resultObj = testRunner.getResults();var reporter = new Y.Test.Reporter("https://www.tenpay.com/report.cgi", Y.Test.Format.JSON);reporter.report(resultObj);} 给Reporter对象指定上报的url以及数据格式即可,注释中内容表示可以在console中或者上报日志中使用多种格式,有兴趣的可以尝试一下