如何为返回值编写单元测试用例

时间:2013-01-30 16:25:15

标签: iphone

我有一个声明字典标签的类

这是在FirstClass类中声明的

-(NSDictionary *)getTags{

return tags;
}

单元测试

我创建了ocUnit Testing的FirstClassTest类

包括#import“FirstClass.h”

-(void)setUP{


    [super setUp];
// Allocations the class

_firstClass = [[FirstClass alloc]init];

}

-(void)tearDown{
_firstClass =nil;
    [super tearDown];

}
-(void)testDictationGetValue{
// Need to write Unit test for that class
[_firstClass getTags];

}

这是我第一次编写单元测试! 任何人都可以指导我编写适当的单元测试用例

@All提前致谢

2 个答案:

答案 0 :(得分:1)

首先,看起来你正在写一个普通的吸气剂。这在现代Objective-C中没有多大意义:如果您只想返回指向实例变量的指针,请使用合成的getter(并删除get前缀)。

其次,你想在这里测试什么?如果你只想测试getter确实会返回一些字典,那么测试基本上没用。也许标签是根据其他一些值计算的?然后设置这些值并检查标签字典是否正确计算。永远不要为了自己的利益而写测试。

答案 1 :(得分:0)

IT应该是!!!

 -(void)testDictationGetValue
    {

        _firstClass = nil;
        _firstClass = [[FirstClass alloc] init];

        NSDictionary *t_dictionary = [_firstClass getTags];

        if (t_dictionary == nil) {
            STAssertNil(nil, @"TestFailed return value is nil");

        }

        else {
            STAssertNotNil(t_dictionary, @"Retrun value");

        }
     }