ユニットテストと依存性注入の観点から、ヘルパーメソッドに関してはいつも採用されている標準は何ですか?ここで 依存型注入とユニットテスト - 静的ヘルパーメソッドまたはプライベートインスタンスメソッド
は私の例の状況です: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 { }
}
私の質問です私はいくつかのクラスまたはプライベートインスタンスメソッドなどの静的ヘルパーとしてYouLikeThemThisWay(string path)
としたほうが良いのですか? YouLikeThemThisWay
のようなものが2つあるとしますか?
私は完全にポイント2を取得するとは思わない。このメソッドは、基本的に外部リソースを呼び出さない。それは単に提供された入力で動作します。 –
最初に私は 'context'に入れようと思っていました。質問は本当にそれを嘲笑したり、単にそれを呼び出す必要がありますか(すなわち' context'から取り除く、つまり私の質問、 'static''または' private') –
ポイント2は、静的にすることを考えているメソッドがアプリケーションのグローバルな状態に影響することを意味します。IEはメソッドをどこかで変更して、「元に戻す」ことができないため、関数を複数回連続して実行することはできません同じ結果。静的関数は常に[idempotent](https://en.wikipedia.org/wiki/Idempotence) – Carson