Dart Mocking HTML库

发布时间:2020-09-16 发布网站:编程之家
编程之家收集整理的这篇文章主要介绍了Dart Mocking HTML库编程之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个Dart类,我想进行单元测试,我想模拟对dart:html库的调用,以确保我的类按预期运行.我查看了 Mocking with Dart的文章,但没有提到如何模拟HTML库.有人有建议吗?

解决方法

这不容易实现,因为dart:html库不是无头的(即它需要一个浏览器).我通常尝试遵循MVP设计模式,以确保与DOM交互的代码仅在我的视图类中,并且所有商业逻辑都在演示者中.这样我就可以在不需要访问DOM API的情况下对演示者进行单元测试.下面列出了一个小例子.

// view interface has no reference to dart:html
abstract class View {
   hello();
}

// view impl uses dart:html but hands of all logic to the presenter
class ViewImpl implements View {
   View(this._presenter) {
      var link = new Element.html("<a href="">a link</a>");
      link.on.click.add(_presenter.onClick());
      body.nodes.add(link);
   }

   hello() {
      body.nodes.add(new Element.html("<p>Hello from presenter</p>");
   }

   Presenter _presenter;
}

// presenter acts on the View interface and can therefor be tested with a mock.
class Presenter {
  Presenter(this._view);

  onClick() => _view.hello();

  View _view;
}

总结

以上是编程之家为你收集整理的Dart Mocking HTML库全部内容,希望文章能够帮你解决Dart Mocking HTML库所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您喜欢交流学习经验,点击链接加入编程之家官方QQ群:1065694478
编程之家官方公众号

微信公众号搜索 “ 程序精选 ” ,选择关注!

微信公众号搜索 “ 程序精选 ”
精选程序员所需精品干货内容!