Bird
Raised Fist0
iOS Swiftmobile~5 mins

Test-driven development in Swift in iOS Swift - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is Test-Driven Development (TDD)?
TDD is a way to write software where you first write a test that fails, then write code to make it pass, and finally clean up the code. It helps catch bugs early and improves design.
Click to reveal answer
beginner
In Swift, which framework is commonly used for writing unit tests?
XCTest is the standard framework in Swift for writing and running unit tests.
Click to reveal answer
beginner
What are the three main steps in the TDD cycle?
1. Write a failing test.
2. Write code to pass the test.
3. Refactor the code to improve it without breaking the test.
Click to reveal answer
intermediate
Why should tests be written before the actual code in TDD?
Writing tests first helps you think about what the code should do, ensures requirements are clear, and prevents writing unnecessary code.
Click to reveal answer
beginner
How do you run tests in Xcode for a Swift project?
You can run tests by pressing Command+U or by clicking the diamond icon next to the test method or class in Xcode.
Click to reveal answer
What is the first step in Test-Driven Development?
AWrite a test that fails
BWrite the code to solve the problem
CRefactor the existing code
DRun all tests to check for errors
Which Swift framework is used to write unit tests?
AXCTest
BSwiftUI
CCoreData
DCombine
What does the 'Refactor' step in TDD mean?
AAdd new features
BFix bugs found by tests
CImprove code without changing behavior
DDelete old tests
Why is TDD helpful in app development?
AIt makes the app run faster
BIt helps catch bugs early and improves code design
CIt removes the need for documentation
DIt automatically writes code for you
How do you run all tests in Xcode?
AClose and reopen the project
BPress Command+R
CClick the Play button
DPress Command+U
Explain the Test-Driven Development cycle and why it is useful in Swift app development.
Think about the order of writing tests and code, and how it helps improve quality.
You got /4 concepts.
    Describe how to write and run a simple unit test in Swift using XCTest.
    Remember the basic structure of a test and how to check results.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the main idea behind Test-driven development (TDD) in Swift?
      easy
      A. Write tests before writing the actual code
      B. Write code first, then write tests later
      C. Write tests only after the app is complete
      D. Skip tests and focus on UI design

      Solution

      1. Step 1: Understand TDD concept

        TDD means you write tests before you write the code that makes those tests pass.
      2. Step 2: Compare options with TDD definition

        Only Write tests before writing the actual code correctly states that tests come before code in TDD.
      3. Final Answer:

        Write tests before writing the actual code -> Option A
      4. Quick Check:

        TDD = Write tests first [OK]
      Hint: Remember: Tests come first in TDD [OK]
      Common Mistakes:
      • Thinking tests are written after code
      • Believing tests are optional
      • Confusing TDD with UI design
      2. Which of the following is the correct way to import the testing framework in a Swift test file?
      easy
      A. import XCTest
      B. import SwiftTest
      C. import TestKit
      D. import Testing

      Solution

      1. Step 1: Identify the official Swift testing framework

        The official framework for testing in Swift is called XCTest.
      2. Step 2: Match the import statement

        Only import XCTest is correct to use XCTest in your test files.
      3. Final Answer:

        import XCTest -> Option A
      4. Quick Check:

        Use XCTest for Swift tests [OK]
      Hint: Always import XCTest for Swift tests [OK]
      Common Mistakes:
      • Using incorrect or non-existent import names
      • Forgetting to import XCTest
      • Confusing XCTest with other frameworks
      3. Given the following Swift test code, what will be the test result?
      func testSum() {
        let result = sum(2, 3)
        XCTAssertEqual(result, 5)
      }
      
      func sum(_ a: Int, _ b: Int) -> Int {
        return a + b
      }
      medium
      A. Test fails because sum(2, 3) equals 6
      B. Test passes but result is 6
      C. Test fails due to syntax error
      D. Test passes because sum(2, 3) equals 5

      Solution

      1. Step 1: Analyze the sum function

        The function adds two integers and returns their sum. sum(2, 3) returns 5.
      2. Step 2: Check the test assertion

        The test asserts that result equals 5, which is true, so the test passes.
      3. Final Answer:

        Test passes because sum(2, 3) equals 5 -> Option D
      4. Quick Check:

        sum(2,3) == 5 passes test [OK]
      Hint: Check function output matches XCTAssertEqual value [OK]
      Common Mistakes:
      • Assuming sum returns wrong value
      • Confusing test failure with syntax error
      • Ignoring the actual return value
      4. Identify the error in this Swift test code snippet:
      func testIsEven() {
        let number = 4
        XCTAssertTrue(isEven(number))
      }
      
      func isEven(_ n: Int) -> Bool {
        return n % 2 == 1
      }
      medium
      A. XCTAssertTrue is used incorrectly; should be XCTAssertFalse
      B. The isEven function returns true for odd numbers, causing test failure
      C. The test function name is invalid
      D. Missing import XCTest statement

      Solution

      1. Step 1: Check the isEven function logic

        It returns true if n % 2 == 1, which means odd numbers, not even.
      2. Step 2: Understand test expectation

        The test expects isEven(4) to be true, but 4 is even, so the function logic is wrong and test fails.
      3. Final Answer:

        The isEven function returns true for odd numbers, causing test failure -> Option B
      4. Quick Check:

        Wrong modulo logic causes test fail [OK]
      Hint: Check function logic matches test expectation [OK]
      Common Mistakes:
      • Mixing odd/even logic in modulo
      • Misusing XCTAssertTrue vs XCTAssertFalse
      • Ignoring function implementation errors
      5. You want to use TDD to create a function that filters out negative numbers from an array. Which sequence of steps follows TDD best?
      hard
      A. Write tests only for positive numbers, ignore negatives
      B. Write the filtering function first, then write tests after it works
      C. Write a failing test for filtering negatives, write code to pass test, refactor code
      D. Write code and tests simultaneously without order

      Solution

      1. Step 1: Understand TDD workflow

        TDD requires writing a failing test first that defines desired behavior.
      2. Step 2: Follow TDD steps for filtering negatives

        Write a test that expects negatives filtered out, then write code to pass it, then improve code.
      3. Final Answer:

        Write a failing test for filtering negatives, write code to pass test, refactor code -> Option C
      4. Quick Check:

        TDD = Test first, code second, refactor [OK]
      Hint: Always write failing test before code in TDD [OK]
      Common Mistakes:
      • Writing code before tests
      • Ignoring refactoring step
      • Writing incomplete tests
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard