3

私はObjective-Cの経験はあまりありませんが、TDDを使用してiOSで開発を開始したいと思います。このため、初心者からの質問はほとんどありません:)

iOS用TDDに何を使用していますか?Xcodeにすでにあるテストフレームワークを使用していると思いましたが、それは良いですか?または他のより良いオプション?

私は単体テストのためにいくつかの演習を行おうとしていて、次のメソッドを使用してCoreLocationを使用してTableViewControllerClassを作成する例を作成していました。

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

私がテストしたいのは、非常に簡単です。NSLongを使用する代わりに、CLLocationに緯度と経度があるかどうかを確認することです。そのためには、テストクラスでこのTableViewControllerクラスを割り当てて初期化する必要がありますか?または、Rspecに似たフレームワーク(たとえば、ruby / rails)があり、アプリケーション画面の特定のラベルにこの緯度と経度の値があるかどうかを確認できますか?

よろしく

4

2 に答える 2

2

私はiOSTDDで、 https: //qualitycoding.org/objective-c-tdd/から始まる一連のスクリーンキャストを持っています。

特定の質問に関して、単体テストでは、次の3つの方法のいずれかで結果を確認する必要があります。

  1. 戻り値の検証
  2. 状態の確認
  3. 動作検証

-locationManager:didUpdateLocations:には、これらのいずれかにつながるものは何も表示されません。おそらく、代わりにヘルパーメソッドをTDDしたいと思うでしょう。

于 2013-03-26T22:38:04.573 に答える
0

このチュートリアルに従って、基本を理解してください:http ://www.raywenderlich.com/3716/unit-testing-in-xcode-4-quick-start-guide

次に、独自のテストスイートを作成する方法を決定できます。幸運を

于 2013-03-26T17:49:22.920 に答える