我们在Xamarin Forms应用程序中使用Microsoft.Extensions.DependencyInjection。 页面(内容页面)已在临时范围内注册,并已解析为可在导航服务中使用。 一切正常,但是,在单元测试中我们面临挑战。
由于FFImageLoading出现问题,因此无法在单元测试用例中解析页面。这在下面的链接中报告(标记为已关闭,但不起作用)。
https://github.com/luberda-molinet/FFImageLoading/issues/1143
结果,我们无法测试任何可解析任何页面的View Model方法。
我们希望在单元测试用例中使用不使用FFImageLoading的模拟页面来模拟所有页面,以便我们可以测试视图模型逻辑(我们不关心测试用例中的导航),即下面调用应返回模拟页面:
ServiceProvider.GetService<TService>()
我们如何将BaseContentPage注册为测试项目中所有内容页面的实现类型?否则,我们可以注入DI实现本身,以便在测试项目中将实际的DI替换为模拟DI吗?