Skip to content

Files

Latest commit

 

History

History
97 lines (74 loc) · 2.08 KB

balanced_xctest_lifecycle.md

File metadata and controls

97 lines (74 loc) · 2.08 KB

Pattern: Missing balanced setUp/tearDown methods

Issue: -

Description

Test classes must implement balanced setUp and tearDown methods.

Examples of correct code:

final class FooTests: XCTestCase {
    override func setUp() {}
    override func tearDown() {}
}

final class FooTests: XCTestCase {
    override func setUpWithError() throws {}
    override func tearDown() {}
}

final class FooTests: XCTestCase {
    override func setUp() {}
    override func tearDownWithError() throws {}
}

final class FooTests: XCTestCase {
    override func setUpWithError() throws {}
    override func tearDownWithError() throws {}
}
final class BarTests: XCTestCase {
    override func setUpWithError() throws {}
    override func tearDownWithError() throws {}
}

struct FooTests {
    override func setUp() {}
}
class BarTests {
    override func setUpWithError() throws {}
}

final class FooTests: XCTestCase {
    override func setUpAlLExamples() {}
}

final class FooTests: XCTestCase {
    class func setUp() {}
    class func tearDown() {}
}

Examples of incorrect code:

final class FooTests: XCTestCase {
    override func setUp() {}
}

final class ↓FooTests: XCTestCase {
    override func setUpWithError() throws {}
}

final class FooTests: XCTestCase {
    override func setUp() {}
    override func tearDownWithError() throws {}
}
final class ↓BarTests: XCTestCase {
    override func setUpWithError() throws {}
}

final class ↓FooTests: XCTestCase {
    class func tearDown() {}
}

final class ↓FooTests: XCTestCase {
    override func tearDown() {}
}

final class ↓FooTests: XCTestCase {
    override func tearDownWithError() throws {}
}

final class FooTests: XCTestCase {
    override func setUp() {}
    override func tearDownWithError() throws {}
}
final class ↓BarTests: XCTestCase {
    override func tearDownWithError() throws {}
}

Further Reading