https://github.com/vvscode/talk--heizenbug2023--user-objects
🦾🤖👩👩👦👦 Как мы автоматизировали тесты с несколькими пользователями
https://github.com/vvscode/talk--heizenbug2023--user-objects
api-client heisenbug integration-testing userobject vvscode
Last synced: about 1 year ago
JSON representation
🦾🤖👩👩👦👦 Как мы автоматизировали тесты с несколькими пользователями
- Host: GitHub
- URL: https://github.com/vvscode/talk--heizenbug2023--user-objects
- Owner: vvscode
- Created: 2023-10-15T09:29:59.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2023-10-15T10:43:32.000Z (over 2 years ago)
- Last Synced: 2025-02-09T13:37:04.612Z (about 1 year ago)
- Topics: api-client, heisenbug, integration-testing, userobject, vvscode
- Language: TypeScript
- Homepage: https://heisenbug.ru/talks/54b7d8b162b144acbfc24bab7d40403c/?referer=/persons/c6d72e4e454e42fc85d067ce51f6c717/
- Size: 4.84 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Как мы автоматизировали тесты с несколькими пользователями
В сервисе доставки еды мы с командой столкнулись с задачей написания E2E-тестов. Главный вызов был в том, что для тестирования сущностей клиента, курьера и ресторана нужно действовать от имени других сущностей – чтобы ресторан был онлайн, курьеры были в городе и т.д.
Сначала попробовали подход с моками и фальшивым API, но это команду не устроило, потому что тестировалось только мобильное приложение и в искусственных условиях. Позже создали (и удачно) библиотеку, которая через API-вызовы позволяет симулировать все действующие лица в системе.
[Презентация](readme.pdf)
Запуск кода
Код писался под:
- node@20
- npm@10
```bash
git clone https://github.com/vvscode/talk--heizenbug2023--user-objects
cd talk--heizenbug2023--user-objects
npm install
npm run test
```
Каждый класс проверен по-отдельности. Если будут ошибки (почти наверняка), которые хочется победить - [issue](https://github.com/vvscode/talk--heizenbug2023--user-objects/issues) is welcome, чем смогу помогу. Но с большего представленный код является **концептом, написанным для демонстрации подхода**, чтобы не нарушать NDA.