You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CLAUDE.md
+46Lines changed: 46 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -126,6 +126,52 @@ See [README.md](README.md) for basic setup. Commands below are for contributors
126
126
-**Test data cleanup**: Every test must clean up created soups, user accounts, and cached data. Use `@Before`/`@After` rigorously.
127
127
-**Test credentials**: Tests requiring authentication need `test_credentials.json` in `shared/test/`.
128
128
129
+
### Firebase Test Lab Considerations
130
+
131
+
**CRITICAL: MockK `mockkStatic()` Does Not Work on Firebase Test Lab**
132
+
133
+
Firebase Test Lab silently disables MockK's static mocking, causing tests to execute real implementations. Tests pass locally but timeout (60s) on Firebase with `UncompletedCoroutinesError` as real network/Google Play Services calls execute.
134
+
135
+
**Root Cause:** Firebase's SELinux policies block MockK bytecode instrumentation, APK re-signing breaks inline mocking agent, and real Google Play Services execute unexpected calls.
136
+
137
+
**DO NOT USE:**
138
+
```kotlin
139
+
mockkStatic(OAuth2::class) // ❌ Fails silently on Firebase
140
+
```
141
+
142
+
**REQUIRED ALTERNATIVES:**
143
+
144
+
1.**Parameter Injection (Simplest):**
145
+
```kotlin
146
+
// Add parameter with default value pointing to static method
0 commit comments