Дротик как юнит тест простой функции

Мне нравится, как вы можете написать чистый лаконичный код на Dart, но кажется, что Dart - один из тех языков, которые легко написать, но сложно протестировать!

Например, учитывая следующий довольно простой метод, как можно провести его модульное тестирование?

typedef void HandleWebSocket(WebSocket webSocket);

Router createWebSocketRouter(HttpServer server, String context, HandleWebSocket handler) {

  var router = new Router(server);

  router.serve(context).transform(new WebSocketTransformer()).listen(handler);

  return router;
}

Вам нужно как-то заменить новый Router() каким-то фабричным методом, который возвращает макет. Затем макет должен вернуть макет, когда вызывается подача. Тогда для этого нужен метод фиктивного преобразования *, который возвращает фиктивный поток..... и в этот момент большинство людей сдастся!

Мне удалось написать модульный тест, используя вышеуказанный подход, но так как он потребовал 80 нечетных строк и загрязнил реальный класс фабричным методом, я с трудом могу сказать, что я доволен этим!

Есть ли лучший способ сделать это?

0 ответов

Другие вопросы по тегам