mobile-app-testing · secondsky — скилл для Claude Code: тесты мобильных приложений
Скилл для тестирования мобильных приложений: юнит-тесты, UI-автоматизация, E2E и производительность. Пригодится, когда нужно настроить тестовую инфраструктуру.
npx skills add secondsky/claude-skills --skill mobile-app-testing -a claude-codeЧто делает mobile-app-testing
Скилл описывает пирамиду тестов для мобильных приложений: юнит-уровень на Jest, XCTest и JUnit, интеграционный на Detox и Espresso, E2E на Appium и Detox. Внутри — готовые примеры под React Native, iOS и Android. Для React Native показан юнит-тест сервиса корзины и E2E-сценарий логина на Detox, для iOS — тест на XCTest, для Android — на Espresso.
Кроме кода есть список практик: сначала тестировать бизнес-логику, мокать внешние зависимости, проверять и успешные, и ошибочные сценарии, автоматизировать ключевые пользовательские потоки. Отдельно перечислено, чего избегать: тестирования деталей реализации, захардкоженных данных, взаимозависимых тестов. Советует держать покрытие выше 80% и периодически прогонять тесты на реальных устройствах.
Скилл не заменяет сами фреймворки: чтобы примеры заработали, в проекте уже должны стоять Jest, Detox, XCTest или Espresso. Это повод проверить, что тестовый раннер настроен до того, как вы попросите агента писать тесты.
Какие задачи решает
- разложить тесты по уровням пирамиды
- написать E2E-сценарий логина на Detox
- покрыть юнит-тестами бизнес-логику корзины
- перевести UI-тесты с ручных прогонов на Espresso
- убрать взаимозависимость между тестами
Примеры запросов агенту
- настрой тесты для React Native: юнит на Jest и E2E на Detox
- напиши E2E-тест логина на Detox для нашего приложения
- разложи тесты по пирамиде и скажи, чего не хватает
Как установить mobile-app-testing
1Через Skills CLI (Vercel)
npx skills add secondsky/claude-skills --skill mobile-app-testing -a claude-code2Вручную: положить файлы
~/.claude/skills/mobile-app-testing/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/mobile-app-testing/
1Через Skills CLI (Vercel)
npx skills add secondsky/claude-skills --skill mobile-app-testing -a codex2Вручную: положить файлы
.agents/skills/mobile-app-testing/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add secondsky/claude-skills --skill mobile-app-testing -a cursor2Вручную: положить файлы
.cursor/skills/mobile-app-testing/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install secondsky/claude-skills mobile-app-testing2Вручную: положить файлы
.github/skills/mobile-app-testing/SKILL.md1Через Skills CLI (Vercel)
npx skills add secondsky/claude-skills --skill mobile-app-testing -a gemini-cli2Командой платформы
gemini skills install https://github.com/secondsky/claude-skills --path plugins/mobile-app-testing/skills/mobile-app-testingВручную: положить файлы
.devin/skills/mobile-app-testing/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add secondsky/claude-skills --skill mobile-app-testing -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о mobile-app-testing
Как установить mobile-app-testing в Claude?
Выполните npx skills add secondsky/claude-skills --skill mobile-app-testing -a claude-code. После установки скилл лежит в ~/.claude/skills/mobile-app-testing/SKILL.md.
Что делает mobile-app-testing?
Описывает стратегию тестирования мобильных приложений: юнит-тесты, интеграционные и E2E, с примерами под React Native, iOS и Android.
С какими фреймворками работает скилл?
В примерах — Jest и Detox для React Native, XCTest для iOS, Espresso и Appium для Android. Эти фреймворки должны быть настроены в проекте заранее.
Исходный текст
SKILL.md · MIT
---
name: mobile-app-testing
description: Mobile app testing with unit tests, UI automation, performance testing. Use for test infrastructure, E2E tests, testing standards, or encountering test framework setup, device farms, flaky tests, platform-specific test errors.
metadata:
keywords: "mobile testing, unit testing, UI automation, E2E testing, Jest, XCTest, JUnit, Detox, Espresso, Appium, React Native testing, iOS testing, Android testing, test framework, device farms, flaky tests, mobile test automation, integration testing, testing pyramid, test coverage"
license: MIT
---
# Mobile App Testing
Implement comprehensive testing strategies for mobile applications.
## Testing Pyramid
| Level | Tools | Coverage |
|-------|-------|----------|
| Unit | Jest, XCTest, JUnit | 70% |
| Integration | Detox, Espresso | 20% |
| E2E | Appium, Detox | 10% |
## React Native (Jest + Detox)
```javascript
// Unit test
describe('CartService', () => {
it('calculates total correctly', () => {
const cart = new CartService();
cart.addItem({ price: 10, quantity: 2 });
expect(cart.getTotal()).toBe(20);
});
});
// E2E test (Detox)
describe('Login flow', () => {
beforeEach(async () => {
await device.reloadReactNative();
});
it('should login successfully', async () => {
await element(by.id('email-input')).typeText('[email protected]');
await element(by.id('password-input')).typeText('password123');
await element(by.id('login-button')).tap();
await expect(element(by.id('dashboard'))).toBeVisible();
});
});
```
## iOS (XCTest)
```swift
func testLoginSuccess() {
let app = XCUIApplication()
app.launch()
app.textFields["email"].tap()
app.textFields["email"].typeText("[email protected]")
app.secureTextFields["password"].typeText("password123")
app.buttons["Login"].tap()
XCTAssertTrue(app.staticTexts["Welcome"].exists)
}
```
## Android (Espresso)
```kotlin
@Test
fun loginSuccess() {
onView(withId(R.id.email)).perform(typeText("[email protected]"))
onView(withId(R.id.password)).perform(typeText("password123"))
onView(withId(R.id.loginButton)).perform(click())
onView(withId(R.id.dashboard)).check(matches(isDisplayed()))
}
```
## Best Practices
- Test business logic first (unit tests)
- Mock external dependencies
- Test both success and failure paths
- Automate critical user flows
- Maintain >80% code coverage
- Test on real devices periodically
## Avoid
- Testing implementation details
- Hardcoded test data
- Interdependent tests
- Skipping error case testing
© secondsky · MIT · secondsky/claude-skills
Похожие скиллы
Всё по теме «Тесты и QA» →Сначала — mobile-app-testing от других авторов.