如何在dojo中将测试用例编写为类

时间:2014-02-24 13:12:11

标签: dojo doh

我希望能够在dojo / doh中将测试用例编写为类层次结构。

但是当测试被调用时,似乎使用hitch调用它们因此失去了继承的方法。

到目前为止,我只能编写独立函数的测试用例,但我想将一些常见的设置折射成一个单独的方法

1 个答案:

答案 0 :(得分:0)

可能有更好的方法,但我只是通过声明一个包含测试对象数组的BaseTest类来做到这一点。

示例:

    baseFieldViewTests: [{
        name: "Test input widget()",
        runTest: function () {
            var inputWidget = this.field.getInputWidget();
            doh.assertTrue(inputWidget.get, "Input widget has no get method");
            doh.assertTrue(inputWidget.set, "Input widget has no set method");
            doh.assertTrue(inputWidget.placeAt, "Input widget has no placeAt method");
        }
    },

然后在子类测试中,我遍历基类测试并注册它们:

/**
 * Register base field view tests
 */
baseFieldViewTests = new BaseFieldViewTest().baseFieldViewTests;

for (test in baseFieldViewTests) {
    if (baseFieldViewTests[test]) {
        doh.register("component/form/text/ReadOnlyTextViewTest",
            {
                name: baseFieldViewTests[test].name,
                setUp: setUp,
                runTest: baseFieldViewTests[test].runTest,
                tearDown: tearDown
            });
    }
}

不太优雅,但似乎有用。