feat: добавил интеграционные тесты
This commit is contained in:
@@ -144,3 +144,19 @@ LLM-ключ задаётся через `Llm:ApiKey`.
|
||||
|
||||
Точные схемы запросов/ответов удобнее смотреть в Swagger.
|
||||
|
||||
## Тестирование
|
||||
|
||||
В проекте настроено модульное и интеграционное тестирование (папка `backend/UniVerse.Api.Tests`):
|
||||
|
||||
- **xUnit** в качестве основного фреймворка для тестирования.
|
||||
- **NSubstitute** для создания заглушек (моков) зависимостей сервисов.
|
||||
- Используется `WebApplicationFactory` (`ApiWebApplicationFactory.cs`) для поднятия интеграционного тестового сервера с подменой БД на `InMemory` и отключенными фоновыми сервисами (например, LLM-интеграциями) для изоляции.
|
||||
- Реализованы полные тесты ролевой модели и авторизации (`EndpointAuthorizationTests.cs`), надежно проверяющие все API-конечные точки на политики доступа от имени различных ролей (`Admin`, `Teacher`, `Student`, `Anonymous`).
|
||||
|
||||
Запуск тестов:
|
||||
|
||||
```bash
|
||||
cd backend
|
||||
dotnet test
|
||||
```
|
||||
|
||||
|
||||
Reference in New Issue
Block a user