C# 当我的代码依赖于redis时,我应该如何编写测试
最近,我对编写涵盖测试场景的良好单元测试感到好奇 我有一个这样的方法 公共布尔等高线打印p_id { var dataList=RedisCache.GetObjectListByPropidp\u id 如果dataList!=null | | DataListCheckingUsingLinqReturnsBoolean 返回true; 返回false; } 所以我的问题是: 由于我的函数依赖于Redis返回数据,我如何编写覆盖测试用例的测试。因此,在我继续下一步之前,我的redis需要有这样的数据,或者使用system n run set p_id=我在system中创建的数据创建数据 我试图避免在system n硬代码p_id中创建数据C# 当我的代码依赖于redis时,我应该如何编写测试,c#,redis,C#,Redis,最近,我对编写涵盖测试场景的良好单元测试感到好奇 我有一个这样的方法 公共布尔等高线打印p_id { var dataList=RedisCache.GetObjectListByPropidp\u id 如果dataList!=null | | DataListCheckingUsingLinqReturnsBoolean 返回true; 返回false; } 所以我的问题是: 由于我的函数依赖于Redis返回数据,我如何编写覆盖测试用例的测试。因此,在我继续下一步之前,我的redis需要有这
有没有更好的办法 > P>一种考虑的方法是将与ReDIS相互作用的代码放入TalkTurrDeDIS类中,实现ITAKIGRIN TRODIES.< /P> 让您的代码使用ITalkingToRedis,最好通过IoC/DI注入,例如Autofac 然后在单元测试中使用或类似的方法模拟/存根ITalkingToRedis
这个通用模式与几乎所有的事物都有关系,不管是ReDIS,还是文件系统,或者卡夫卡,或者其他什么。
< P>一个考虑的方法是将与ReDIS交互的代码放入TalkTurrDeDIS类中,实现ITAcLangTureDIS. 让您的代码使用ITalkingToRedis,最好通过IoC/DI注入,例如Autofac 然后在单元测试中使用或类似的方法模拟/存根ITalkingToRedis 这种通用模式适用于几乎所有东西,无论是Redis、文件系统、Kafka还是其他任何东西