ref 引数を持つメソッドをモックできないという問題があります。モックしたいメソッドのシグネチャは次のとおりです。
class ContractRepository
...
public long GetValueAndIncrement(ref Counter counter)
{
...
}
私はこのようにそれを嘲笑しようとしました:
Random myRandomizer = new Random();
var contractRepo = new SIContractRepository();
contractRepo.GetValueAndIncrementCounterRef = ((internalCounter) => Int64.Parse(myRandomizer.Next().ToString()));
しかし、コンパイラは「ref」キーワードが欠落していることを教えてくれますが、このように試してみると
Random myRandomizer = new Random();
var contractRepo = new SIContractRepository();
contractRepo.GetValueAndIncrementCounterRef = ((ref internalCounter) => Int64.Parse(myRandomizer.Next().ToString()));
ref が無効な式であるというエラーが表示されます
残念ながら、Google はここでは役に立ちません。:( 何か案は?