2014-02-21 45 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

回答