test可以訪問(wèn)你App的public部分,但是不可以訪問(wèn)private部分,所以有些東西還是隱藏在你的tests下的

Paste_Image.png
Test Target是由一些test classes組成的,一個(gè)test class是XCTestCase的子類,和一些相關(guān)的方法

Paste_Image.png
Test class 有一些方法和測(cè)試有關(guān),當(dāng)啟動(dòng)測(cè)試Test class會(huì)首先調(diào)用setUp()這個(gè)方法,然后就調(diào)用testStuff(),最后就是調(diào)用tearDown()

Paste_Image.png
在測(cè)試?yán)锖?jiǎn)單常用的方法XCTAssert,它就像一個(gè)boolean值的判斷表達(dá)式,如果結(jié)果為true,測(cè)表示測(cè)試通過(guò),如果是false則表示失敗

Paste_Image.png
為App添加測(cè)試

Paste_Image.png
添加后會(huì)增加這一項(xiàng)

Paste_Image.png
在test class中添加

Paste_Image.png
在class內(nèi)部聲明屬性讓我們等下用

Paste_Image.png
test class內(nèi)的方法要以test開(kāi)頭,如func testXXXX(),等啟動(dòng)的時(shí)候會(huì)找到它們并執(zhí)行。添加下面的方法
func testCollectionItems() { XCTAssert(collection.count > 0) }
一啟動(dòng)就出錯(cuò),我們可以點(diǎn)擊紅色X重啟測(cè)試

Paste_Image.png
在setUp()中,先加載數(shù)據(jù)

Paste_Image.png
然后再運(yùn)行

Paste_Image.png
已經(jīng)通過(guò)

Paste_Image.png