Делает библиотеку, которая реализует как клиентские и серверные части, которые взаимодействуют между собой через WebSockets:Dart тест интеграции с сервером и dartium браузером VM
использование сервера, например (побежал в CLI):
Server srv = await new Server("localhost:1234");
srv.onNewClientConnected.listen(print("client connected"));
использование клиента пример (побежал в браузере):
Client cli = await new Cliente("localhost:1234");
cli.sendCommand(...);
(Только путем создания экземпляров, клиент должен быть подключен и сервер заметил об этой связи.)
Хотелось бы узнать, что было бы лучшим способом проверить их взаимодействие? Могу ли я проверить оба объекта внутри этого метода?
Я хотел бы что-то вроде этого:
test(".echo should receive same input from server",(){
cli.echo("message");
expect(srv.lastMessageReceived, equals("echo: message"));
expect(cli.lastResponseReceived, equals("echo: message"));
expect(srv.amountMessagesReceived, equals(1));
});
Спасибо за ваш ответ! Но у меня нет проблем с этим, но с лучшими практиками для проведения таких тестов интеграции в Dart: Должен ли я использовать определенную библиотеку ... и т. Д. Распространит вопрос, я думаю, что это довольно неясно atm .. –
I добавили некоторые рекомендации. Я думаю, что 'web_socket_channel' - хорошая ставка. Я использую его вместе с полкой, rpc и mongodb, чтобы иметь полное решение на стороне сервера. Я не уверен, что полностью отвечает на ваш вопрос, но, делая unittests, вы, безусловно, на хорошем пути – alextk