【问题标题】:Unit Test in Xcode iOS [closed]Xcode iOS中的单元测试[关闭]
【发布时间】:2013-03-26 17:19:41
【问题描述】:

我在 Objective-C 方面没有太多经验,但我想开始使用 TDD 在 iOS 中进行开发,对此我有几个新手问题 :)

人们在 iOS 的 TDD 中使用什么?我想在使用 Xcode 中已有的测试框架时,它好吗?还是有更好的选择?

我正在尝试为单元测试做一些练习,我正在创建一个示例,其中我有一个 TableViewControllerClass,使用 CoreLocation,使用以下方法:

    -(void)startFindLocation
    {
        [self.cllManager startUpdatingLocation];
    }

    -(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations
    {
        [self.cllManager stopUpdatingLocation];
        CLLocation *actualLocation = [locations lastObject];

        NSLog(@"latitude: %f", actualLocation.coordinate.latitude);
        NSLog(@"longitude: %f", actualLocation.coordinate.longitude);
    }

我想测试的,很简单,就是看CLLocation有没有经纬度,而不是用NSLong。 为此,我真的需要在我的测试类中分配和初始化这个 TableViewController 类吗?或者有任何框架,类似于 Rspec(例如,ruby/rails),我可以在其中检查应用程序屏幕中的特定标签是否具有此纬度和经度值?

问候

【问题讨论】:

    标签: ios objective-c xcode unit-testing tdd


    【解决方案1】:

    我有一系列关于 iOS TDD 的截屏视频,从 https://qualitycoding.org/objective-c-tdd/ 开始

    关于您的特定问题,单元测试需要通过以下三种方式之一检查结果:

    1. 返回值验证
    2. 状态验证
    3. 行为验证

    我在 -locationManager:didUpdateLocations: 中看不到任何导致这些的任何内容。也许您想改为使用 TDD 辅助方法。

    【讨论】:

      【解决方案2】:

      按照本教程了解基础知识:http://www.raywenderlich.com/3716/unit-testing-in-xcode-4-quick-start-guide

      然后您将能够决定如何编写自己的测试套件。祝你好运

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-04-09
        • 2016-11-21
        • 1970-01-01
        • 2012-12-13
        • 2012-09-23
        • 2010-12-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多