swift - 自動化 - xctest




ユニットテストでテストするクラスを見つけることができません (4)

私は、標準的なクラスのGeoRssParserDelegateを呼び出して、テストする必要があります。

私の迅速なユニットテストでは、私はこれを持っている:

func testParser()
{
    var bundle = NSBundle(forClass:GeoRssParserTest.classForKeyedArchiver())
    var path = bundle.pathForResource("test", ofType: "xml")
    let data = NSData.dataWithContentsOfFile(path, options: NSDataReadingOptions.DataReadingMapped, error: nil)
    let xmlParser = NSXMLParser(data:data)
    let delegate = GeoRssParserDelegate() <-- Compiler fails here
    var bStatus = xmlParser.parse()
    XCTAssertTrue(bStatus, "Parse failed", file: __FILE__, line: __LINE__)        
}

上で強調表示された行でコンパイラが失敗します。 コンパイラエラーは、未解決のidenitifier GeorRssParserDelegateの使用です。

このクラスは存在し、製品自体で構築されます。 何か特別なものは必要ですか?


アプリケーションのモジュールをユニットテストにインポートする必要があります。 これは通常あなたのアプリ名です。 たとえば、アプリケーション名がGeoRssParserimport文は次のようになります。

import GeoRssParser

テストしているクラスが別のターゲット(アプリケーションなど、テストバンドルではなく)にコンパイルされている場合は、使用しようとしているクラスまたは構造体がpublicとマークされていることを確認してください。クロスターゲットテストが可能です。



次の3つのステップを実行します。 - 1. @testable import Your_Project_nameを書き込みます。2.次に(CTRL + S)を保存します。3.次にビルド(CTRL + B)