有没有人知道JsTestdriver的setUp和tearDown函数/方法的语法?在他们的网站上,他们声称能够定义它,但我无法做到正确。
感谢。
答案 0 :(得分:4)
我下载代码并为“setUp”加油并发现以下内容:
javascript/TestCaseBuilder.js: if (typeof testCaseClass.prototype.setUp == 'undefined') {
javascript/TestCaseBuilder.js: testCaseClass.prototype.setUp = function() {};
javascript/plugins/TestRunnerPlugin.js: if (testCaseInstance.setUp) {
javascript/plugins/TestRunnerPlugin.js: testCaseInstance.setUp();
类似于“tearDown”:
javascript/TestCaseBuilder.js: if (typeof testCaseClass.prototype.tearDown == 'undefined') {
javascript/TestCaseBuilder.js: testCaseClass.prototype.tearDown = function() {};
javascript/plugins/TestRunnerPlugin.js: if (testCaseInstance.tearDown) {
javascript/plugins/TestRunnerPlugin.js: testCaseInstance.tearDown();
所以似乎setUp和tearDown函数的定义与任何其他测试函数一样,只是它们的名称是'setUp'和'tearDown'。他们的例子是:
GreeterTest = TestCase("GreeterTest");
GreeterTest.prototype.testGreet = function() {
var greeter = new myapp.Greeter();
assertEquals("Hello World!", greeter.greet("World"));
};
如果您不熟悉“原型”键(因为它在javascript中具有非常特殊的含义),并且不知道您是什么级别的js程序员,那么请查看these YUI vids
然而,这似乎是一个非常糟糕的设计决定,因为这样你只能定义一个setUp和tearDown函数,所以我觉得必须有一个更好的方法,但这是我能找到的最好的。
我同意他们对setUp,tearDown的文档描述似乎并不是最直观的。
如果您正在寻找其他选项,我只是开始学习Selenium并且发现它令人满意(尽管我的文档也缺少一点)