【问题标题】:Dart - mocking the Element classDart - 模拟 Element 类
【发布时间】:2014-02-25 01:25:35
【问题描述】:

我正在尝试创建一个需要我模拟 Element 类的单元测试

所以我的代码看起来像

import 'dart:html';

import 'package:unittest/unittest.dart';
import 'package:mock/mock.dart';


@proxy

class MockElement extends Mock implements Element{}

void main(){

  test("",(){
    MockView view = new MockView();  
    MockElement element = new MockElement();

当我运行它时,我收到以下消息

内置库 'dart:html' 在单机版上不可用 虚拟机。 'file:///C:/Users/Schmidt/Documents/GitHub/PicasaWebAlbumDisplay/test/picasaphotopresentor_test.dart': 错误:第 1 行 pos 1:库处理程序失败 import 'dart:html'; ^

我需要导入html才能有Element类的定义,所以卡在了这一点上。

有什么想法吗?

【问题讨论】:

    标签: dart dart-unittest


    【解决方案1】:

    根据您的要求,您可以使用html5lib。但是,它尚未与 dart:html 完全兼容,但目标是。

    另一个值得探索的选项是使用无头浏览器进行测试。见this example

    【讨论】:

      【解决方案2】:

      尝试使用抽象工厂模式,而不是代理。应用程序使用元素工厂来获取实例。它可以通过一些全局变量来获取实例。当应用程序没有被测试时,这个实例将是为应用程序查询创建真正实现的工厂实现。 Test 模块还可以实现 Factory 接口,并且可以在需要测试应用程序时设置全局变量来保存对自身的引用。因此,您将需要应用程序、测试、工厂实现、实现、测试、工厂接口和数据库接口。

      【讨论】:

      • 你能添加一些代码来演示你是如何做到的吗?
      猜你喜欢
      • 2014-08-04
      • 2014-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-13
      • 2013-09-10
      相关资源
      最近更新 更多