3

アプリに UIbutton があります。ボタンをクリックすると、NSMutableArray の最後のオブジェクトが削除されます。このために、単体テストを書きたいと思います。どなたか提案をお願いします。

UIButton のクリックがいつ実行されたかを知るために、このコードを使用します。

[viewControllerObject.backButton1 sendActionsForControlEvents:UIControlEventTouchUpInside];

ありがとう、リッキー。

4

3 に答える 3

3

「ユニット」レベルでは、テストするものが 2 つあります。

  • ボタンをタップするとアクションメソッドが送信されますか?
  • アクション メソッドは配列から最後のオブジェクトを削除しますか?

最初のものは無視してください。これは Apple の問題です (または、好意的には統合テストです)。2 つ目は、Assemble、Act、Assert のプロセスを考えれば簡単です。

  1. 組み立てる: ビュー コントローラーとそのコンテンツ配列を構築します。
  2. Act: アクション メソッドを呼び出します。
  3. Assert: 最後のオブジェクトが削除されたことを確認します。
-(void)testRemovalOfLastObjectOnButtonAction
{
    //... build and populate the view controller
    id lastObject = [array lastObject];
    [viewController buttonTapped: sender];
    STAssertFalse([array containsObject: lastObject], @"Object %@ should be removed", lastObject);       
}

注: カウントが減少したかどうかではなく、最後のオブジェクトが削除されたかどうかを明示的にテストします。これはオブジェクトが削除された場合に発生する可能性があります。

于 2013-04-05T09:20:23.483 に答える
1

これは、いくつかの方法で行うことができます。この素晴らしいチュートリアルを見ることをお勧めします

このビデオでは、UIKit で単体テストを行う方法について説明しています。

于 2013-04-05T09:07:00.267 に答える