【发布时间】:2009-12-04 03:18:41
【问题描述】:
有人知道 JsTestdriver 的 setUp 和 tearDown 函数/方法的语法吗?在他们的网站上,他们声称能够定义它,但我无法正确理解。
谢谢。
【问题讨论】:
有人知道 JsTestdriver 的 setUp 和 tearDown 函数/方法的语法吗?在他们的网站上,他们声称能够定义它,但我无法正确理解。
谢谢。
【问题讨论】:
我下载了代码并搜索了“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"));
};
而且不知道你是什么级别的js程序员,如果你不熟悉'prototype'键(因为它在javascript中有很特殊的含义),那就看看these YUI vids
但是,这似乎是一个非常糟糕的设计决定,因为这样您只能定义一个 setUp 和 tearDown 函数,所以我觉得必须有更好的方法,但这是我能找到的最好的方法。
我同意他们对 setUp、tearDown 的文档描述似乎不是最直观的。
如果您也在寻找其他选择,我刚刚开始学习 Selenium 并且觉得它令人满意(尽管我认为它的文档也缺少一点)
【讨论】: