下面是我在我的測試,到目前爲止:如何在單元測試中模擬字符串響應?
[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