C# 依赖注入和单元测试-静态助手方法或私有实例方法
从单元测试和依赖注入的角度来看,当涉及辅助方法时,通常采用的规范是什么 以下是我的例子:C# 依赖注入和单元测试-静态助手方法或私有实例方法,c#,unit-testing,dependency-injection,C#,Unit Testing,Dependency Injection,从单元测试和依赖注入的角度来看,当涉及辅助方法时,通常采用的规范是什么 以下是我的例子: public class GoodiesController : Controller { private IMyContext _context; public GoodiesController(IMyContext context) { _context = context } public async Task<IAction> GetTho
public class GoodiesController : Controller
{
private IMyContext _context;
public GoodiesController(IMyContext context)
{
_context = context
}
public async Task<IAction> GetThoseGoodies()
{
if(YouLikeThemThisWay(Request.Path))
{
var result = await _context.GoGetThemThisWay()
} else { }
}
公共类货物控制器:控制器
{
私有IMyContext\u上下文;
公共物品控制器(IMyContext上下文)
{
_上下文=上下文
}
公共异步任务gethosegodies()
{
如果(您喜欢此方式(Request.Path))
{
var result=await_context.GoGetThemThisWay()
}else{}
}
我的问题是,作为某个类中的静态助手或作为私有实例方法,使用
您喜欢的mthisway(字符串路径)
是否更好?假设我可能有两种您喜欢的mthisway
?这取决于您喜欢的mthisway(字符串路径)是什么
method没有。我使用静态方法的规则如下:
<>编辑:注意我通常要求这五条规则中的大部分或全部有助于静态,以便我甚至可以考虑静态化。我不认为我完全得到点2。该方法基本上不调用任何外部资源。它只是在提供的输入上工作。首先我想把它放在<代码>上下文< /代码>中,以及问题WA。s我真的需要嘲笑它还是仅仅称之为它(也就是说,把它从
上下文中去掉,因此我的问题是,静态的或私有的)第#2点意味着您正在考虑的使静态的方法是否会影响应用程序的全局状态,也就是说,该方法是否会在某个地方更改某些无法“撤消”的内容,从而导致您无法在一行中多次执行具有相同结果的函数c只是接收一些输入,在本例中是一个字符串,然后像布尔一样返回一个输出,而不做任何其他事情。它可能是静态的一个很好的候选者。