模拟ScrapySharp响应以进行单元测试

我在干净的体系结构解决方案中使用了scrapysharp,并且需要在单元测试中模拟Scraping服务响应,以便单元测试是独立的,并且实际上不会影响任何外部服务器。

我已经考虑过使用Moq,但是没有找到一种方法来返回新的scrapysharp WebPage作为我的代码,然后在单元测试期间使用。

我在基础设施项目中有一个服务接口:

public interface IScrapeService
{
    WebPage NavigateToPage(Uri url,HttpVerb verb = HttpVerb.Get,string data = "",string contentType = null);
}

然后,我将在现实中实现该服务,并将其注入使用该服务的类中。我的单元测试将使用在测试期间注入的服务的模拟实现。

有人尝试过这种事情吗?如果我考虑不周,可以帮助我吗?

xiaofeiyaya 回答:模拟ScrapySharp响应以进行单元测试

这里的问题是:为什么需要将ScrapySharp的响应作为方法的输出值公开?返回一些仅包含ScrapySharp响应中所需信息的自定义模型可能会更好。自定义模型将提供另一个优势-IScrapeService接口的所有客户端都不需要明确引用ScrapySharp。而且,当然,它将为您提供更好的测试此接口的功能。

本文链接:https://www.f2er.com/3123224.html

大家都在问