Dart如何单元测试一个简单的功能

时间:2014-06-16 09:58:59

标签: dart dart-io dart-unittest

我喜欢你在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;
}

您需要以某种方式将 new Router()替换为返回模拟的某种工厂方法。然后,当调用 serve 时,mock需要返回一个模拟。然后需要有一个模拟转换*方法返回一个模拟流.....并且在那时大多数人都会放弃!

我已经设法使用上述方法编写单元测试,但因为它需要80个奇数行,并且用工厂方法污染了实际的类,我很难说我很满意它!

有更好的方法吗?

0 个答案:

没有答案