繁体   English   中英

dart callMatcher命名参数

[英]dart callMatcher named arguments

我正在关注https://www.dartlang.org/articles/mocking-with-dart/,但它没有说明将调用与命名参数匹配。 我发现了2012年或2013年初的一些帖子,说该帖子不受支持。 有人可以说些什么吗?

我的情况很简单-如果使用正确的参数调用get方法,我会尝试模拟并返回一些数据

class Client {    
    Future<Map> get(String endpoint, {Map query: const {}, ContentType contentType:null}) {
        ...
    }
}

稍后在测试中,我创建了一个模拟

class _ClientMock extends Mock implements Client {}

client = new _ClientMock();

var endpoint = "http://host:8080/hotels";
var query = {"param": "value"};

client.when(callsTo("get", endpoint, query)).thenReturn(new Future.value(serverData));

不幸的是,这不起作用,只是不接受第3个参数。 我尝试了各种匹配器,但是没有运气。

有任何想法吗?

callsTo方法不处理命名参数, CallMatcher.matches方法也不提供与命名参数匹配的方法。

恐怕模拟库似乎需要重写以处理命名参数和位置参数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM