Валидация всех unit тестов в модуле на соответствие корпоративным стандартам. Use when the user invokes /validate-tests.
How this skill is triggered — by the user, by Claude, or both
Slash command
/bereke-business-test-gen:validate-testsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
> Converted from Claude Code command `/validate-tests`.
Converted from Claude Code command
/validate-tests. Review and adapt: hooks and MCP tool IDs may need manual mapping for Codex.
Проверить ВСЕ unit тесты в указанном модуле на соответствие корпоративным стандартам. Выявить критические нарушения (confidence ≥ 80) и вывести детальный отчет.
!bash -lc 'for marketplace in awac-ai-agent-plugins awac-claude-code-plugins; do path="$HOME/.claude/plugins/marketplaces/$marketplace/plugins/bereke-business-test-gen/standards/android-kotlin.md"; [ -f "$path" ] && cat "$path" && exit 0; done; echo "Missing android-kotlin.md in awac-ai-agent-plugins or awac-claude-code-plugins" >&2; exit 1'
find {module_path}/src/test -name "*Test.kt" -type f
Создай список всех найденных тестов.
Проверь КРИТИЧЕСКИЕ требования (confidence >= 80):
@DisplayName присутствует (без backticks!)
✅ @DisplayName("When X - Then Y")
❌ fun `when x then y`()
Given-When-Then структура с комментариями
✅ // Given
// When
// Then
❌ Без комментариев
Truth assertions (assertThat)
✅ assertThat(result).isTrue()
❌ assertTrue(result)
❌ assertEquals(expected, actual)
Mock префиксы (mock*)
✅ private val mockRepository: Repository
❌ private val repository: Repository
FlowTestUtils для Flow методов
✅ FlowTestUtils.coVerifyFlowCall { ... }
❌ coVerify { mockRepository.getFlow() }
tearDown с cleanup
✅ FlowTestUtils.cleanupFlowResources()
❌ Только unmockkAll()
Пакет теста = пакет класса
✅ Source: kz.berekebank.business.core.push.push_impl.data.repositories
✅ Test: kz.berekebank.business.core.push.push_impl.data.repositories
❌ Test: kz.berekebank.business.core.push.push_impl.domain.repositories
## ✅ Валидация модуля: {MODULE_NAME}
### Общая статистика
**Всего тестов:** 15
**Валидных:** 12 (80%)
**С нарушениями:** 3 (20%)
### Критические нарушения (confidence >= 80)
#### Файл: RepositoryTest.kt
- ❌ Confidence: 100 - Backticks в названии теста `when data loads then updates`
- ❌ Confidence: 90 - Отсутствует @DisplayName в методе testMethod()
- ⚠️ Confidence: 70 - Найдены неиспользуемые импорты
**Рекомендация:** Исправить backticks и добавить @DisplayName
#### Файл: InteractorTest.kt
- ❌ Confidence: 100 - Используется assertEquals вместо assertThat
- ❌ Confidence: 100 - Нет FlowTestUtils.cleanupFlowResources() в tearDown
**Рекомендация:** Заменить на Truth assertions и добавить cleanup
#### Файл: ValidatorTest.kt
- ⚠️ Confidence: 75 - Нарушены Given-When-Then комментарии в 2 тестах
**Рекомендация:** Добавить структурные комментарии
### Классификация
| Уровень | Количество | Статус |
|---------|-----------|--------|
| 🔴 Critical (90-100) | 2 | ❌ Требует исправления |
| 🟡 Warning (70-89) | 3 | ⚠️ Рекомендуется исправить |
| 🟢 OK (< 70) | 10 | ✅ Соответствует стандартам |
### Дополнительные проверки
**Lint анализ:**
```bash
./gradlew :{module}:lintDebugUnitTest
Компиляция:
./gradlew :{module}:compileDebugUnitTestKotlin
Запуск тестов:
./gradlew :{module}:testDebugUnitTest
Покрытие:
./gradlew :{module}:koverVerify
Статус: ❌ Валидация НЕ прошла
Требуемые действия:
### Шаг 5: Выведи результаты
Покажи:
1. Список файлов с нарушениями (critical only)
2. Количество нарушений по типам
3. Рекомендации по исправлению
4. Дальнейшие шаги
## Пример использования
```bash
# Валидировать весь модуль
/bereke-business-test-gen:validate-test-module feature/auth
# Валидировать impl модуль
/bereke-business-test-gen:validate-test-module feature/qr-signing/qr-signing-impl
# Валидировать core модуль
/bereke-business-test-gen:validate-test-module core/push/push-impl
Для частой валидации создай скрипт:
#!/bin/bash
MODULE="$1"
echo "🔍 Валидация модуля: $MODULE"
echo ""
# Найди все тесты с нарушениями
echo "❌ Backticks в тестах:"
grep -r 'fun `' "${MODULE}/src/test" --include="*.kt" | head -5
echo ""
echo "❌ assertEquals (должен быть assertThat):"
grep -r 'assertEquals\|assertTrue\|assertFalse' "${MODULE}/src/test" --include="*.kt" | head -5
echo ""
echo "❌ Нет @DisplayName:"
grep -B 1 '@Test' "${MODULE}/src/test" -r --include="*.kt" | grep -v '@DisplayName' | head -5
echo ""
echo "✅ Проверка завершена. Исправь найденные нарушения!"
Используй как:
./validate-module.sh feature/auth
✅ ОБЯЗАТЕЛЬНО:
❌ ЗАПРЕЩЕНО:
npx claudepluginhub ivanlutsenko/awac-ai-agent-pluginsCreates bite-sized, testable implementation plans from specs or requirements, with file structure and task decomposition. Activates before coding multi-step tasks.