迅速 - iOSのシステムは、ユニットテストの研究ノートが付属しています

背景

iOSのIMクライアントのためのプロセス開発は、多くの場合、プロトコルヘッダが正しいかなど、サーバーのデバッグと通信する必要があり、SDK内のテストのビジネスロジックに必要です。それはより多くの余分見えた、経由ページを作成する場合は、この時間は、ボタンコールをクリックしてください。ユニットテスト、ここレコードを使用する方法を迅速考える私はそう。

MacOSの:10.15.3
Xcodeの:11.3.1
最終更新日:2020年3月16日

ステップ

ユニットテストプロジェクトを作成します。

ファイル - >新規作成>ターゲット...
ユニットテストバンドルを選択
ユニットテストプロジェクト名は、デフォルトでは、直接することができ
直接のデフォルト、仕上げができます。

作成

ユニットテストファイルを作成します。

新しく作成されたユニットテストプロジェクトでは、右クリックします。
新規ファイル...
ユニットテストケースクラスを選択します
テストファイル名+テストを入力した後、次のステップに直接次
ユニットテストのファイル名
作成

書き込みテストコード

まず、テスト対象のモジュールの導入(プロジェクト名):

@testable import CoffeeChat // @testable 可访问 internal 属性方法

(主な機能エントリに似た)書き込みテスト方法:

// 格式为 test+名字,否则无法运行,如下
func testConnect(){
    let client = CIMClient()
    client.connect(ip: "10.0.106.117", port:8000)
    sleep(3)
}

完全なコードは次のとおりです。

//
//  CIMClientTests.swift
//  CoffchatTests
//
//  Created by xuyingchun on 2020/3/16.
//  Copyright © 2020 Xuyingchun Inc. All rights reserved.
//

import XCTest

@testable import Coffchat

class CIMClientTests: XCTestCase {
    func testConnect(){
        let client = CIMClient()
        client.connect(ip: "10.0.106.117", port:8000)
        
        sleep(3)
    }
}

テスト実行

行番号の位置「実行」アイコンをクリックし、機能をテストします。
例
もちろん、また、次の方法で:
U +ショートカットコマンド
ショートカット

ヒント
ユニットテストをモジュールに分割することができ、小さな機能に分割することができ、あなたの幸せな十分な

これは、システムで使用されているユニットテストが付属して、他のプログラムはオンラインあります

テスト結果とリスト:
テストユニット一覧

削除ユニットテストプロジェクト

  1. こうした「CoffchatTests」として削除ユニットテストフォルダ、
  2. 削除対象、(あなたが文句を言うでしょうターゲットを削除せずに、フォルダを削除する場合のみ)次のように
    1. プロジェクト名をクリックしてください
    2. 「拡大するために、左側」をクリックします
    3. 削除するターゲット上で右クリックして削除
      ユニットテストのターゲットを削除する方法

リマーク

試験方法ユニット共通

XCTAssert(expression, format...)当expression求值为TRUE时通过

その他のリファレンス

XCTFail(format…) 生成一个失败的测试;
XCTAssertNil(a1, format...)为空判断,a1为空时通过,反之不通过;
XCTAssertNotNil(a1, format…)不为空判断,a1不为空时通过,反之不通过;
XCTAssert(expression, format...)当expression求值为TRUE时通过;
XCTAssertTrue(expression, format...)当expression求值为TRUE时通过;
XCTAssertFalse(expression, format...)当expression求值为False时通过;
XCTAssertEqualObjects(a1, a2, format...)判断相等,[a1 isEqual:a2]值为TRUE时通过,其中一个不为空时,不通过;
XCTAssertNotEqualObjects(a1, a2, format...)判断不等,[a1 isEqual:a2]值为False时通过;
XCTAssertEqual(a1, a2, format...)判断相等(当a1和a2是 C语言标量、结构体或联合体时使用, 判断的是变量的地址,如果地址相同则返回TRUE,否则返回NO);
XCTAssertNotEqual(a1, a2, format...)判断不等(当a1和a2是 C语言标量、结构体或联合体时使用);
XCTAssertEqualWithAccuracy(a1, a2, accuracy, format...)判断相等,(double或float类型)提供一个误差范围,当在误差范围(+/-accuracy)以内相等时通过测试;
XCTAssertNotEqualWithAccuracy(a1, a2, accuracy, format...) 判断不等,(double或float类型)提供一个误差范围,当在误差范围以内不等时通过测试;
XCTAssertThrows(expression, format...)异常测试,当expression发生异常时通过;反之不通过;(很变态) XCTAssertThrowsSpecific(expression, specificException, format...) 异常测试,当expression发生specificException异常时通过;反之发生其他异常或不发生异常均不通过;
XCTAssertThrowsSpecificNamed(expression, specificException, exception_name, format...)异常测试,当expression发生具体异常、具体异常名称的异常时通过测试,反之不通过;
XCTAssertNoThrow(expression, format…)异常测试,当expression没有发生异常时通过测试;
XCTAssertNoThrowSpecific(expression, specificException, format...)异常测试,当expression没有发生具体异常、具体异常名称的异常时通过测试,反之不通过;
XCTAssertNoThrowSpecificNamed(expression, specificException, exception_name, format...)异常测试,当expression没有发生具体异常、具体异常名称的异常时通过测试,反之不通过

参考:https://www.jianshu.com/p/be32739d8aae

公開された19元の記事 ウォンの賞賛9 ビュー10000 +

おすすめ

転載: blog.csdn.net/xmcy001122/article/details/104897575