2014-09-06 3 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

관련 문제