下面是我在我的测试,到目前为止:如何在单元测试中模拟字符串响应?
[TestFixture]
public class IndividualMovieTests
{
[Test]
public void WebClient_Should_Download_From_Correct_Endpoint()
{
const string correctEndpoint = "http://api.rottentomatoes.com/api/public/v1.0/movies/{movie-id}.json?apikey={your-api-key}";
ApiEndpoints.Endpoints["IndividualMovie"].ShouldEqual(correctEndpoint);
}
[Test]
public void Movie_Information_Is_Loaded_Correctly()
{
Tomato tomato = new Tomato("t4qpkcsek5h6vgbsy8k4etxdd");
var movie = tomato.FindMovieById(9818);
movie.Title.ShouldEqual("Gone With The Wind");
}
}
我FIndMovieById方法上线并获取一个JSON的结果,这意味着它像是打破原则背后单元测试。我有一种感觉,我必须嘲笑这个字符串响应,但我不知道如何处理这个问题。
你会怎么做这个特定的单元测试?
您是否考虑过使用模拟框架?如果您要为进行外部API调用的方法进行大量的单元测试,这可能会非常有用。 – 2011-04-19 03:34:27