0

Qunit在 JavaScript 中使用测试引擎,我需要检查对象中是否存在属性。

这是我的设置:

 var tests = [
    {
        foo: 'foo',
        bar: 'bar',
        expected: {}
    },
    {
        foo: '',
        bar: '',
        expected: //I need to expect foo and bar properties to exist
    }
 ]

 for(var i = 0; i < tests.length; i++) {
    assert.deepEqual(validate_foo(tests[i]), tests[i].expected);
 }

该函数validate_foo()要么在成功时返回一个空对象,要么返回一个{}包含每个错误属性的对象。例如,validate_foo()期望fooequalfoobarto equal bar。所以在第二次测试中,结果是:

{
    foo: 'foo does not equal foo',
    bar: 'bar does not equal bar'
}

我如何编写一个测试来完成这个?

4

1 回答 1

1

也许我完全错过了重点,但假设您正在测试 validate_foo 函数,这不是您需要做的吗?

var tests = [
    {
        foo: 'foo',
        bar: 'bar',
        expected: {}
    },
    {
        foo: '',
        bar: '',
        expected: {foo: 'foo does not equal foo',
                   bar: 'bar does not equal bar'}
    }
 ]

 for(var i = 0; i < tests.length; i++) {
    assert.deepEqual(validate_foo(tests[i]), tests[i].expected);
 }

...如果这不是您想要的测试,那么您能否澄清在这种情况下您要测试的具体内容是什么?

于 2013-09-06T07:40:50.530 回答