---
title: Không khai báo private cho Unit Test function
impact: CRITICAL
impactDescription: Đảm bảo các hàm test có thể được nhận diện và thực thi bởi trình chạy test (test runner).
tags: swift, ios, unit-test, xctest, access-control
---

## Không khai báo private cho Unit Test function

Không sử dụng `private` cho các class hoặc function bên trong `XCTestCase`. Các hàm test cần có quyền truy cập `internal` (mặc định) hoặc `public` để Swift test runner có thể gọi và thực thi chúng. Nếu đánh dấu là `private`, các bài test này sẽ bị bỏ qua một cách lặng lẽ.

**Incorrect (test function bị private):**

```swift
class MyTests: XCTestCase {
    private func testLoginSuccess() { // Lỗi: Test runner không tìm thấy
        // ...
    }
}
```

**Correct (hàm test công khai):**

```swift
class MyTests: XCTestCase {
    func testLoginSuccess() { // Đúng: Mặc định là internal
        // ...
    }
}
```

**Tools:** SwiftLint (private_unit_test)
