我为一个JavaScript测试框架编写了一堆测试,并希望将它们引入QUnit。
另一个框架将其测试作为对象的属性,每个对象都包含一个测试函数。这些调用<< assertEqual()>>函数,但我有代码重写,以在QUnit的<<上传递其参数等于()>>功能。我按如下方式将测试拉入QUnit:
for ( var tst_name in otherFrameworkTests ) {
test(
tst_name,
function () {otherFrameworkTests[tst_name]()}
);
};
这在<<<<<<<<<< tst_name>> - 但是每个都在otherFrameworkTests的最后一个属性中运行测试。该测试正确运行(失败或按预期传递)。
另外:我可以用
运行测试test("test_name", function () {otherFrameworkTests.test_name()});
这适用于给定文件中的所有测试,但它很笨拙并且违反了DRY。
为什么会这样?如何重新组织代码以运行所有测试?