2017-08-30 3 views
0

変数戻り関数が配列かどうかを調べる方法はありますか?例:私はこの機能を持っている私のプレゼンターで :XCTestでチェック変数が配列かどうか

func filterGnomosForName(name:String) -> [Gnomo]{ 
    let res = listGnomos.filter { ($0.name?.lowercased().contains(name.lowercased()))!} 
    return res 
} 

そしてMyTestClass私は、このテスト機能を持っている:

func testFilterGnomo(){ 
    let result = listPresenter.filterGnomosForName(name: "Nam") 
    XCTAssert(result == [Gnomo]) 
} 

Gnomoは、アレイ内の型のオブジェクトであるが、唯一の配列であるかどうかを知ってほしいです機能が正しくあるかどうかを知るために、私を助けてください?

答えて

0

私はオブジェクトを主張しています私はこれを行うに入力します。

XCTAssert((object as Any) is Array) 

私は前に、アレイを主張していませんでしたが、私は上記のが仕事だと思います。はい

import UIKit 
import XCTest 

class MyTestClass: XCTestCase { 

    func testSomething() { 
     let myArray: [String] = ["foo", "bar"] 

     XCTAssert((myArray as Any) is String) // Fails 
     XCTAssert((myArray as Any) is [String]) // Passes 
    } 
} 

MyTestClass.defaultTestSuite().run() 
+0

、しかし、あなたが最初Any' 'にキャストした場合、常に – Alejandro

+0

...本当未返却「は」ここで

は、私はちょうどスウィフト遊び場で作成された例です。実際の例を示すために私の答えにいくつかのサンプルコードを追加しました。 – Hodson

+0

ああ、ありがとう。 – Alejandro

関連する問題