2013-08-28 30 views
0

存在我使用在JavaScript Qunit測試引擎,我需要檢查,如果在一個對象存在的屬性。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() expectes foo等於foobar等於bar。所以在第二次測試中,結果是:

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

我該如何編寫一個測試來實現它?

回答

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); 
} 

......如果這不是你想要的測試,那麼你能澄清一下你在這種情況下試圖測試什麼嗎?