小编mra*_*d01的帖子

HttpRequest使用sendData作为查询参数GET?

这个问题与sendDataHTTPRequest.request有点重复,似乎无法让它工作,但我现在有了更多的信息.这里的目标是发送附加了查询参数的GET请求.我最初试图发送我的请求:

HttpRequest request = new HttpRequest();

request.open("GET", _url, async:true);
request.onError.listen(_onLoadError, onError: _onLoadError);
request.send(sendData);
Run Code Online (Sandbox Code Playgroud)

其中sendData是一个遵循查询参数的正常格式的字符串(?myVariable = 2&myOtherVariable = a等),因为这是最终的目标.请求被发送,但我从未在任何监视工具(我使用Charles)中看到任何其他数据(sendData).然后我尝试了:

HttpRequest request = new HttpRequest();

request.open("GET", _url + sendData, async:true);
request.onError.listen(_onLoadError, onError: _onLoadError);
request.send();
Run Code Online (Sandbox Code Playgroud)

所以现在我只是将查询字符串附加到url本身.这按预期工作,但远非优雅.有更好的解决方案吗?

dart dart-io

3
推荐指数
1
解决办法
1330
查看次数

反映原始类型(如"double")会导致意外输出

以下示例失败:

FAIL: MyClass tests getClassReturnsConstructorForDouble
  Expected: ?:<double>
    Actual: ?:<double>
Run Code Online (Sandbox Code Playgroud)

例:

test("getClassReturnsConstructorForDouble", () {
    double object = 10.1;
    Type objectClass = reflect(object).type.reflectedType;      
    expect(objectClass, equals(object.runtimeType));
});
Run Code Online (Sandbox Code Playgroud)

是否无法准确反映int/double类型?

dart

2
推荐指数
1
解决办法
387
查看次数

尝试确定变量是否属于某种类型时出现语法错误

就像标题所说:如果你有一个存储在变量中的Type,就我所知,没有办法将你的实际对象与这个类型的变量进行比较.我可以完成我正在尝试用镜子做的事情,但我不愿意,如果可能的话.

void example() {
  Type myType = String;
  String myExample = "Example";

  //Syntax error here: The name 'myType' is not a type and cannot be used in an 'is' expression
  if (myExample is myType) {

  }
}
Run Code Online (Sandbox Code Playgroud)

dart

2
推荐指数
1
解决办法
202
查看次数

用 Dart 模拟 - 如何测试作为参数传递的函数是否被调用?

诚然,这是一个有点奇怪的测试用例,但这是我遇到的一个问题。我有一个类,它在其构造函数中将函数作为参数。我想知道是否调用了传递的函数。下面是一个例子:

class TestClassMock extends Mock implements RealClass {
  RealClass _real;

  TestClassMock() {
    _real = new RealClass();

    when(callsTo("myNamedFunction")).alwaysCall(_real.myNamedFunction);
  }
}

class RealClass {
  String _name = "RealClass";
  Function myNamedFunction;

  RealClass() {
    myNamedFunction = _theNamedFunction;
  }

  String _theNamedFunction() {
    return _name;
  }
}

class ClassThatCallsRealClass {
  ClassThatCallsRealClass(Function func) {
    func();
  }
}

//The test
TestClassMock testClassMock = new TestClassMock();
ClassThatCallsRealClass caller = new ClassThatCallsRealClass(testClassMock.myNamedFunction);  
testClassMock.getLogs(callsTo("myNamedFunction")).verify(happenedOnce);
Run Code Online (Sandbox Code Playgroud)

所以稍微解释一下,ClassThatCallsRealClass 将一个函数作为参数并调用它。如果您要传入 (Instance Of RealClass).myNamedFunction,这将依次调用 RealClass 上的私有函数 _theNamedFunction。但是,如果您尝试模拟 RealClass 并将所有调用从 myNamedFunction 重定向到 RealClass myNamedFunction,这似乎会失败。我没有看到任何明确的方法来让它发挥作用,但我认为这是可能的。

有任何想法吗?

dart

1
推荐指数
1
解决办法
3616
查看次数

标签 统计

dart ×4

dart-io ×1