iOS Writing a test class


Example

import XCTest
@testable import PersonApp

class PersonTests: XCTestCase {
    func test_completeName() {
        let person = Person(firstName: "Josh", lastName: "Brown")
        XCTAssertEqual(person.completeName(), "Josh Brown")
    }
}

Now let's discuss what's going on here. The import XCTest line will allow us to extend XCTestCase and use XCTAssertEqual (among other assertions). Extending XCTestCase and prefixing our test name with test will ensure that Xcode automatically runs this test when running the tests in the project (⌘U or Product > Test). The @testable import PersonApp line will import our PersonApp target so we can test and use classes from it, such as the Person in our example above. And finally, our XCTAssertEqual will ensure that person.completeName() is equal to the string "Josh Brown".