2014-09-06 5 views
3

Я пытаюсь дротик и я пишу клиент на стороне сервера:Как издеваются ответ сервера - клиент на стороне сервера

new HttpClient().post(InternetAddress.LOOPBACK_IP_V4.host, 7474, '/path').then((HttpClientRequest request) { 
request.headers.contentType = ContentType.JSON; 
request.headers.add(HttpHeaders.ACCEPT, ContentType.JSON); 
request.write(JSON.encode(jsonData)); 

return request.close(); 
}).then((HttpClientResponse response) { 
response.transform(UTF8.decoder).listen((contents) { 
    _logger(contents); 
    // stuff 
}); 
}); 

, и я хотел бы, чтобы дразнить ответ сервера.

Какое оптимальное решение?

  • Создайте сервер в моем тестовом классе, который вернет ожидаемое значение?
  • или высмеивать HttpClientResponse?

Благодарим за помощь! (код будет полезен; D)

ответ

3

http packages обеспечивает поддержку для этого.

Для примера см. http://www.dartdocs.org/documentation/http/0.11.1+1/index.html#http/http-testing.

import 'dart:convert'; 
import 'package:http/testing.dart'; 

var client = new MockClient((request) { 
    if (request.url.path != "/data.json") { 
    return new Response("", 404); 
    } 
    return new Response(JSON.encode({ 
    'numbers': [1, 4, 15, 19, 214] 
    }, 200, headers: { 
    'content-type': 'application/json' 
    }); 
}; 
+1

Спасибо за вашу помощь :) – matth3o

Смежные вопросы