Qunit测试属性存在于对象中

Qunit test property exists in object

本文关键字:对象 于对象 测试 属性 存在 Qunit      更新时间:2023-09-26

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

这是我的设置:

 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()期望foo等于foobar等于bar。所以在第二次测试中,结果是:

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

我该如何写一个测试来发布这个?

也许我完全没有抓住要点,但假设您正在测试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);
 }

如果这不是你想要的测试,那么你能澄清一下在这种情况下你想测试什么吗?