iOS

Unit Testing āđāļĨāļ° XCTest

XCTest framework, test case, assertion, mocking, code coverage, āļŦāļĨāļąāļāļāļēāļĢ TDD

20 āļ„āļģāļ–āļēāļĄāļŠāļąāļĄāļ āļēāļĐāļ“āđŒÂ·
Mid-Level
1

āļĢāļ°āļšāļļāļšāļ—āļšāļēāļ—āļŦāļĨāļąāļāļ‚āļ­āļ‡ XCTest framework āđƒāļ™āļāļēāļĢāļžāļąāļ’āļ™āļē iOS

āļ„āļģāļ•āļ­āļš

XCTest āļĄāļ­āļšāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļŠāļģāļ„āļąāļāļŠāļģāļŦāļĢāļąāļšāļŠāļĢāđ‰āļēāļ‡ āļˆāļąāļ”āļĢāļ°āđ€āļšāļĩāļĒāļš āđāļĨāļ°āļĢāļąāļ™ unit test āļ āļēāļĒāđƒāļ™ Xcode framework āļ—āļĩāđˆāļĢāļ§āļĄāļ­āļĒāļđāđˆāđƒāļ™āļ•āļąāļ§āļ™āļĩāđ‰āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļŠāļēāļĄāļēāļĢāļ–āļ•āļĢāļ§āļˆāļŠāļ­āļšāļžāļĪāļ•āļīāļāļĢāļĢāļĄāļ‚āļ­āļ‡āđ‚āļ„āđ‰āļ”āđāļĨāļ°āļ•āļĢāļ§āļˆāļˆāļąāļš regression āļĢāļ°āļŦāļ§āđˆāļēāļ‡āļāļēāļĢāļžāļąāļ’āļ™āļē āļˆāļķāļ‡āļĢāļąāļšāļ›āļĢāļ°āļāļąāļ™āļ„āļļāļ“āļ āļēāļžāđāļĨāļ°āļ„āļ§āļēāļĄāļ™āđˆāļēāđ€āļŠāļ·āđˆāļ­āļ–āļ·āļ­āļ‚āļ­āļ‡āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™ iOS

2

āļ­āļ˜āļīāļšāļēāļĒāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļžāļ·āđ‰āļ™āļāļēāļ™āļ‚āļ­āļ‡āļ„āļĨāļēāļŠ test XCTestCase

āļ„āļģāļ•āļ­āļš

āļ„āļĨāļēāļŠ test āļ•āđ‰āļ­āļ‡āļŠāļ·āļšāļ—āļ­āļ”āļˆāļēāļ XCTestCase āđ€āļžāļ·āđˆāļ­āđƒāļŠāđ‰āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļ—āļ”āļŠāļ­āļšāļ—āļąāđ‰āļ‡āļŦāļĄāļ”āļ—āļĩāđˆ framework āļˆāļąāļ”āđ€āļ•āļĢāļĩāļĒāļĄāđ„āļ§āđ‰ āļ„āļĨāļēāļŠāļ™āļĩāđ‰āļĄāļĩāđ€āļĄāļ˜āļ­āļ” setUp āđāļĨāļ° tearDown āļŠāļģāļŦāļĢāļąāļšāđ€āļ•āļĢāļĩāļĒāļĄāđāļĨāļ°āļĨāđ‰āļēāļ‡āļŠāļ āļēāļžāđāļ§āļ”āļĨāđ‰āļ­āļĄ āļĢāļ§āļĄāļ–āļķāļ‡āđ€āļĄāļ˜āļ­āļ” testXxx āđ€āļžāļ·āđˆāļ­āļ•āļĢāļ§āļˆāļŠāļ­āļšāļžāļĪāļ•āļīāļāļĢāļĢāļĄāļ‚āļ­āļ‡āđ‚āļ„āđ‰āļ”āļ—āļĩāđˆāļ—āļ”āļŠāļ­āļš

3

āļ­āļ˜āļīāļšāļēāļĒāļ§āļąāļ•āļ–āļļāļ›āļĢāļ°āļŠāļ‡āļ„āđŒāļ‚āļ­āļ‡āđ€āļĄāļ˜āļ­āļ” lifecycle setUp āđāļĨāļ° tearDown

āļ„āļģāļ•āļ­āļš

āđ€āļĄāļ˜āļ­āļ” setUp āļ—āļģāļ‡āļēāļ™āļāđˆāļ­āļ™āđāļ•āđˆāļĨāļ° test āđ€āļžāļ·āđˆāļ­āļāļģāļŦāļ™āļ”āđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚āđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āđāļĨāļ°āļŠāļĢāđ‰āļēāļ‡ instance āļ—āļĩāđˆāļˆāļģāđ€āļ›āđ‡āļ™ āđ€āļĄāļ˜āļ­āļ” tearDown āļ—āļģāļ„āļ§āļēāļĄāļŠāļ°āļ­āļēāļ”āļ āļēāļĒāļŦāļĨāļąāļ‡āđ‚āļ”āļĒāļ›āļĨāđˆāļ­āļĒāļ—āļĢāļąāļžāļĒāļēāļāļĢāđāļĨāļ°āļĢāļĩāđ€āļ‹āđ‡āļ• state āļ§āļ‡āļˆāļĢāļ™āļĩāđ‰āļĢāļąāļšāļ›āļĢāļ°āļāļąāļ™āļ„āļ§āļēāļĄāđ€āļ›āđ‡āļ™āļ­āļīāļŠāļĢāļ°āļĢāļ°āļŦāļ§āđˆāļēāļ‡ test āđāļĨāļ°āļ›āđ‰āļ­āļ‡āļāļąāļ™ side effect

4

āļĢāļ°āļšāļļāļŸāļąāļ‡āļāđŒāļŠāļąāļ™ XCTAssert āđ€āļžāļ·āđˆāļ­āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ„āļ§āļēāļĄāđ€āļ—āđˆāļēāļāļąāļ™āļ‚āļ­āļ‡āļŠāļ­āļ‡āļ„āđˆāļē

5

āļĢāļ°āļšāļļāļšāļ—āļšāļēāļ—āļ‚āļ­āļ‡ XCTAssertTrue āđāļĨāļ° XCTAssertFalse

+17 āļ„āļģāļ–āļēāļĄāļŠāļąāļĄāļ āļēāļĐāļ“āđŒ

āļŦāļąāļ§āļ‚āđ‰āļ­āļŠāļąāļĄāļ āļēāļĐāļ“āđŒ iOS āļ­āļ·āđˆāļ™āđ†

āļžāļ·āđ‰āļ™āļāļēāļ™ Swift

Junior
25 āļ„āļģāļ–āļēāļĄ

āļžāļ·āđ‰āļ™āļāļēāļ™āļ āļēāļĐāļē Swift

Junior
15 āļ„āļģāļ–āļēāļĄ

āļžāļ·āđ‰āļ™āļāļēāļ™ UIKit

Junior
18 āļ„āļģāļ–āļēāļĄ

āļ§āļ‡āļˆāļĢāļŠāļĩāļ§āļīāļ•āļ‚āļ­āļ‡ UIViewController

Junior
20 āļ„āļģāļ–āļēāļĄ

UserDefaults & Keychain

Junior
20 āļ„āļģāļ–āļēāļĄ

āļ§āļ‡āļˆāļĢāļŠāļĩāļ§āļīāļ•āļ‚āļ­āļ‡āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™

Junior
20 āļ„āļģāļ–āļēāļĄ

Auto Layout & Constraints

Mid-Level
24 āļ„āļģāļ–āļēāļĄ

UITableView & UICollectionView

Mid-Level
25 āļ„āļģāļ–āļēāļĄ

āļžāļ·āđ‰āļ™āļāļēāļ™ SwiftUI

Mid-Level
18 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāļˆāļąāļ”āļāļēāļĢ State āđƒāļ™ SwiftUI

Mid-Level
22 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāļ™āļģāļ—āļēāļ‡ SwiftUI

Mid-Level
18 āļ„āļģāļ–āļēāļĄ

Networking & URLSession

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

Codable āđāļĨāļ°āļāļēāļĢāđāļĒāļāļ§āļīāđ€āļ„āļĢāļēāļ°āļŦāđŒ JSON

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

Core Data

Mid-Level
22 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāđ€āļ‚āļĩāļĒāļ™āđ‚āļ›āļĢāđāļāļĢāļĄāđ€āļŠāļīāļ‡āđ‚āļ›āļĢāđ‚āļ•āļ„āļ­āļĨ

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

āļŠāļ–āļēāļ›āļąāļ•āļĒāļāļĢāļĢāļĄ MVVM

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāđāļˆāđ‰āļ‡āđ€āļ•āļ·āļ­āļ™āđāļšāļš Push

Mid-Level
18 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāļ—āļ”āļŠāļ­āļš UI

Mid-Level
18 āļ„āļģāļ–āļēāļĄ

Xcode āđāļĨāļ°āļĢāļ°āļšāļš Build

Mid-Level
16 āļ„āļģāļ–āļēāļĄ

Swift Package Manager

Mid-Level
16 āļ„āļģāļ–āļēāļĄ

Memory Management & ARC

Senior
22 āļ„āļģāļ–āļēāļĄ

Combine Framework

Senior
24 āļ„āļģāļ–āļēāļĄ

Concurrency & async/await

Senior
26 āļ„āļģāļ–āļēāļĄ

iOS Design Patterns

Senior
24 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāđ€āļžāļīāđˆāļĄāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļž

Senior
22 āļ„āļģāļ–āļēāļĄ

āļ„āļ§āļēāļĄāļ›āļĨāļ­āļ”āļ āļąāļĒāđāļĨāļ°āļāļēāļĢāđ€āļ‚āđ‰āļēāļĢāļŦāļąāļŠ

Senior
20 āļ„āļģāļ–āļēāļĄ

SwiftUI Advanced

Senior
22 āļ„āļģāļ–āļēāļĄ

āļŠāļ–āļēāļ›āļąāļ•āļĒāļāļĢāļĢāļĄāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™ iOS

Senior
22 āļ„āļģāļ–āļēāļĄ

āđ€āļŠāļĩāđˆāļĒāļ§āļŠāļēāļ iOS āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļŠāļąāļĄāļ āļēāļĐāļ“āđŒāļ„āļĢāļąāđ‰āļ‡āļ–āļąāļ”āđ„āļ›

āđ€āļ‚āđ‰āļēāļ–āļķāļ‡āļ„āļģāļ–āļēāļĄāļ—āļąāđ‰āļ‡āļŦāļĄāļ” flashcards āđāļšāļšāļ—āļ”āļŠāļ­āļšāđ€āļ—āļ„āļ™āļīāļ„ āđāļšāļšāļāļķāļāļŦāļąāļ” code review āđāļĨāļ°āļ•āļąāļ§āļˆāļģāļĨāļ­āļ‡āļŠāļąāļĄāļ āļēāļĐāļ“āđŒ

āđ€āļĢāļīāđˆāļĄāđƒāļŠāđ‰āļŸāļĢāļĩ