Я столкнулся с тем, что успешный spec-box validate не гарантирует полного и однозначного соответствия между YAML assertions и Jest-тестами. Хотелось бы добавить проверки отсутствующих пар и дублирующихся identity, чтобы автоматически обнаруживать такие ошибки во время написания и изменения тестов с помощью ИИ.
Ожидаемый контракт:
- без записи в YAML не должно быть теста;
- без соответствующего теста не должно быть YAML assertion;
- каждому assertion соответствует ровно один тест и наоборот.
Текущее поведение
При исследовании @spec-box/sync@1.2.1 обнаружили:
- Jest-тест без YAML assertion вызывает jest-unused;
- YAML assertion без Jest-теста остаётся в состоянии Unknown, но не вызывает ошибку — команда завершается с кодом 0;
- Jest-тесты с одинаковым полным именем схлопываются в Map, поэтому дубликаты могут остаться незамеченными.
Из-за этого ИИ может описать сценарий в YAML, забыть реализовать его в spec и получить успешный результат валидации. Такой результат не позволяет использовать проверку как надёжный сигнал для следующего шага работы.
Ожидаемое и фактическое поведение
| Ситуация |
Ожидаемый результат |
Фактический результат |
| Однозначное соответствие YAML ↔ Jest |
Успех |
Успех |
| Jest-тест без YAML assertion |
Ошибка |
Ошибка, exit code 1 |
| YAML assertion без Jest-теста |
Ошибка |
Успех, exit code 0 |
| Несколько Jest-тестов с одинаковым полным identity и соответствующим YAML assertion |
Ошибка |
Успех, exit code 0 |
Я столкнулся с тем, что успешный spec-box validate не гарантирует полного и однозначного соответствия между YAML assertions и Jest-тестами. Хотелось бы добавить проверки отсутствующих пар и дублирующихся identity, чтобы автоматически обнаруживать такие ошибки во время написания и изменения тестов с помощью ИИ.
Ожидаемый контракт:
Текущее поведение
При исследовании @spec-box/sync@1.2.1 обнаружили:
Из-за этого ИИ может описать сценарий в YAML, забыть реализовать его в spec и получить успешный результат валидации. Такой результат не позволяет использовать проверку как надёжный сигнал для следующего шага работы.
Ожидаемое и фактическое поведение
100