172 похожих чатов

Всем привет! я новичок в Rust, не очень понимаю как

имплементировать следующее (но кажется что задачка типовая):

1. Есть сервер на tonic, запускаемый через:

let addr = "[::1]:50051".parse().unwrap();
let service = FlightServiceImpl {};
let svc = FlightServiceServer::new(service);
let server = Server::builder().add_service(svc).serve(addr);
println!("Server listening on localhost:{}", addr.port());

2. Я хочу написать несколько тестов для такого сервера - т.е. в рамках тестового модуля запустить сервер, отправить несколько запросов с клиента, потушить сервер после тестов.

В python это решалось бы через unittest setUp / tearDown, в scalatest - через BeforeAndAfterAll, а как в Rust?

10 ответов

14 просмотров

а в расте я рекомендую тебе тестировать не то что ты сервер поднял, а твои хэндлеры с логикой. Впрочем, тот же совет я бы дал и для скалы и для питона

n
А интеграционные / e2e?

а интеграционные от языка не зависят. берете какой-нибудь cypress и погнали

Можно интеграционный сделать. Но твой код должен быть не в main, а в либе. Его импортируешь в тесте, запускаешь в тренде и вперёд

Если я правильно понял вопрос, то видел вот что-то такое. Но сам не пробовал https://stackoverflow.com/questions/38253321/what-is-a-good-way-of-cleaning-up-after-a-unit-test-in-rust

ну и есть всякие процмакросы вроде https://crates.io/crates/rstest

а что не так? Наш бек на шарпе тестировали куа на питоне 🤷‍♀️

фреймворком на жс

Пух
фреймворком на жс

ну они потом пеерехали как раз на него вроде. Или там лид куа свой написал, не пмоню. Долгая история

Αλεχ Zhukovsky
а что не так? Наш бек на шарпе тестировали куа на ...

Если я написал клиент на расте, сервер на расте, почему бы не иметь возможности написать тест на расте? Зачем мне в этой связке js, lua, c#, whatever

Похожие вопросы

Обсуждают сегодня

Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
Хотел бы спросить у знающих, правильную ли я выбрал книгу для начала изучения ассемблера Юрова В.И ? Или есть более лучшие книги для начала обучения?
Botsman
31
$params = [ 'formid' => 'feedbackForm', 'formTpl' => '@CODE: <form class="form-validate" data-id="ajax_form"> <fieldset class="margin-bottom-md"> ...
Pathologic
1
Всем привет, подскажите/посоветуйте пожалуйста. Фаердак компоненты, имею одно место где бизнес хочет видеть при открытии формы список всех клиентов, это порядка 30к. Мои дово...
Sasha Sch
11
Здравствуйте. Задача состоит в том, чтобы сделать real-time чат в мобильном приложении. После передачи сообщения пользователем через веб-сокеты, для основного и долговременног...
🐾
5
А как лучше конвертировать физический адрес в виртуальный при маппинге? В случае ядра у меня, например, direct mapping, первые 768МБ я как есть мапплю в higher half, а остальн...
Evg Resh
8
Книга Юрова В.И пойдёт для обучения?
Botsman
24
Всем доброго дня, ребят подскажите пожалуйста, если в курсе по ассемблеру используется MASM32, могу ли я использовать FASM? В чем явная разница и будет ли у меня все работать?
Botsman
17
Где можно найти примеры эффективного "асинхронного" tcp сервера на C? Я видел select, kqueue, poll, epoll и т.д. Ввод-вывод неблокирующий, но обработка клиентов блокирующая
#
10
Hi Everyone! To all Are you Looking for Interview Support at the Lowest Price? Look no further! Then contact us 👉We offer Interview Support :-for a low cost variety of tech...
Rambabu Nallamilli
3
Карта сайта