gpt4 book ai didi

javascript - JsTestDriver,测试函数的名称

转载 作者:行者123 更新时间:2023-11-30 13:20:39 24 4
gpt4 key购买 nike

测试函数的名称有没有限制?

当我将下面的代码写成testA()testB()时,它们都会被执行。

AjaxCreateTest = TestCase("AjaxCreateTest");  
AjaxCreateTest.prototype.testA = function(){};
AjaxCreateTest.prototype.testb = function(){};

但是如果我将名称从“testB”更改为“AjaxCreateT”,则只会执行 testA()。太奇怪了。有人可以帮忙吗?

最佳答案

JsTestDriver 只执行以前缀“test”开头的方法。这是一种命名约定,使您能够在不作为测试执行的同一对象上编写辅助方法。

还有两个保留的方法名setUptearDown,分别在每次测试前后执行。

您甚至可以在测试名称中使用空格,这使您的测试具有良好的可读性,例如:

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 调用进行 stub (请参阅“Fake XHR”)和更多示例。

关于javascript - JsTestDriver,测试函数的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10343959/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com