2014-02-21 71 views
3

一個單元如何測試對象或集合 - 特別是JSON數據包? 你只是測試他的結構,鍵/值對?不管值是什麼預期返回JSON的單元測試方法示例

我是否創建一個空集合?並比較? 同樣的問題適用於任何複雜的對象(查詢,結構,數組等)

任何幫助真實的例子將不勝感激。

  • 林剛開始使用TDD,並使用MXUnit ......我不是真的很確定從哪裏開始... 這是一個基本的測試樣品,

    // Arrange 
        // obj set up - handled in "setup" 
    
    // Act 
        var expect = 1;   
        var result = obj.getPersonByID(); 
        debug(result); // throws data back to the tester for display 
    
    // Assert 
        assertEqual(expect, result, 'Expected #expect#, got #result#.'); 
    
+0

什麼是從你的功能很重要,是它的JSON的內容,或者僅僅是你取回一個JSON數據包的事實呢?如果前者,你可以使用deserializeJSON()將其轉換回CF結構,這將更容易測試(例如檢查所有預期的鍵都存在) – duncan

+1

我測試這些的方式是不設置'returnFormat'在你的函數定義中,並像測試其他代碼一樣測試它。如果您需要特定項目的JSON,則只需直接訪問CFC方法,將'returnFormat = json'添加到查詢字符串中即可。如果您使用的是框架,您可以構建一個爲您生成JSON的流程。 –

+0

RE:鄧肯的評論 - 我能爲每把鑰匙寫一個單獨的測試嗎?這是我所做的小小的閱讀,這似乎是規定的方式......每個測試的「一個」斷言,這是我傾向的路徑。如果有爭論/反對,請權衡。 – jpmyob

回答