JsTestDriver 仅执行以前缀“test”开头的方法。这是一种命名约定,使您能够在不作为测试执行的同一对象上编写辅助方法。
还有两个保留方法名setUp
和tearDown
,分别在每次测试之前和之后执行。
您甚至可以在测试名称中使用空格,这使您的测试具有很好的可读性,例如:
TestCase("AjaxCreateTest", {
setUp : function() {
this.subject = new MyAjaxCode();
this.stubXHR();
},
tearDown : function() {
this.restoreXHR();
},
stubXHR : function() {
// stub global objects to intercept Ajax calls
},
restoreXHR : function() {
// restore global state
},
"test should say hi" : function() {
assertEquals("Hi", this.subject.sayHi());
}
}
在上面的例子中只有一个测试,其余的都是辅助方法。
我可以推荐Sinon.JS来帮助您存根 Ajax 调用(请参阅“Fake XHR”)以及更多示例。