我希望能够在dojo / doh中将测试用例编写为类层次结构。
但是当测试被调用时,似乎使用hitch调用它们因此失去了继承的方法。
到目前为止,我只能编写独立函数的测试用例,但我想将一些常见的设置折射成一个单独的方法
答案 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
});
}
}
不太优雅,但似乎有用。