Unit Tests Cheatsheet

XCTestCase

Estructura Base

class Tests: XCTestCase {
    override func setUp() {
        super.setUp()
        // initialize variables
    }

    override func tearDown() {
        // deinitialize variables
        super.tearDown()
    }

    func testMyTestName() {
       // test code
    }
}

setUp()

Se ejecuta antes de cada prueba

tearDown()

Se ejecuta despues de cada prueba

test_______()

Los metodos de prueba comienzan con la palabra test

Assertions

Una aserción un metodo de que evalua el cumplimiento de un resultado dado un valor esperado

  • XCTAssert
  • XCTAssertTrue
  • XCTAssertFalse
  • XCTAssertNil
  • XCTAssertNotNil
  • XCTAssertThrowsError
  • XCTAssertNotThrows
  • XCTAssertEqual
  • XCTAssertNotEqual
  • XCTAssertGreaterThan
  • XCTAssertGreaterThanOrEqual
  • XCTAssertLessThan
  • XCTAssertLessThanOrEqual

Test Async

    func testIndexSuccess() {
        let session = Session(cassetteName: "index.success")
        let service = buildService(for: session)
        let exp = expectation(description: "Successfull index")
        service.index { response in
            exp.fulfill()
            XCTAssertNotNil(response)
        }

        waitForExpectations(timeout: 2, handler: nil)
    }