2016-10-12 5 views
1

を含むサービスインスタンス化することはできません部品番号は私が<strong>部品番号</strong>で次のメソッドをモックとしたいラムダ式

public GetTCNotifyFCResponse GetTCNotifyFC(string operationNumber) 
     { 
      var response = new GetTCNotifyFCResponse { IsValid = false }; 

      try 
      { 
       var tcAbstract = _tcAbstractRepository 
        .GetOne(x => x.Operation.OperationNumber == operationNumber); 

       if (tcAbstract == null) 
       { 
        response.ErrorMessage = Localization.GetText(WORKFLOW_DONT_STARED); 
        return response; 
       } 
       [...] 

をテストコードは次のようになります。

var mockAbstractRep = new Mock<ITCAbstractRepository>(); 
      mockAbstractRep 
       .Setup(s => s.GetOne(x => x.Operation.OperationNumber == operationNumber)) 
       .Returns(entity); 

しかし、実行時には、「tcAbs tract "result ..." operationNumber "および" entity "変数は、簡単にするためにここに含まれています。

私は間違っていますか?

答えて

1

はこれを試してみて、それが

var mockAbstractRep = new Mock<ITCAbstractRepository>(); 
mockAbstractRep 
    .Setup(s => s.GetOne(It.IsAny<Expression<Func<EntityType, bool>>>())) 
    .Returns(entity); 

に役立ちますかどううまく働いたあなたの方法は

+0

を必要とするタイプでEntityTypeを交換!どうもありがとう!!! (注:読者に:あなたのメソッドが必要とするカスタムパラメータで "EntityType"を置き換えてください、この場合GetOne) – Luis

+0

喜んで助けてください。あなたのコメントを含めるために答えを更新しました。 – Nkosi

関連する問題