2016-03-25 19 views
0

Moq Setup beklenen dönen değildir:Moq - Yöntem Tepki alay değer

Branch3GInfo mockCasResponse = new Branch3GInfo 
{ 
    Branch3GActiveRouters = new CasApiRouterModelExtendedInfo[] 
    { 
     new CasApiRouterModelExtendedInfo(12345, "MyRouter", 4, 1, "MyModelType") 
    } 
}; 

var mock = new Mock<BranchCircuitStatusScheduleEntry>(_application); 
mock.CallBase = true; 

mock.Setup(x => x.GetNodesOn3GBackupAsync()).ReturnsAsync(mockCasResponse); 
var mockedObject = mock.Object.GetNodesOn3GBackupAsync().Result; 

mockedObject ben yarattık alay yanıtını içeriyor.

BranchCircuitStatusScheduleEntry'nin GetNodesInCriticalCondition() adlı bir yöntemi vardır.

GetNodesInCriticalCondition() kendi bedeninde GetNodesOn3GBackupAsync() öğesini çağırır ve buna bağlı olarak bazı çıktılar üretir. Ancak, bu aramayı yapar, REAL GetNodesOn3GBackupAsync(), ve benim alay edilmemiş sürümümü çağırır. Bu çalışmayı yapmanın bir yolu var mı?

+1

Lütfen kodu GetNodesInCriticalCondition() yöntemini kullanarak ekleyin. –

cevap

0

Yeni bir BranchCircuitStatusScheduleEntry örneği oluşturup GetNodesInCriticalCondition öğesini çağırmalı ve bu yöntemin içinde GetNodesOn3GBackupAsync ile alay konusu olmalısınız.

var branchCircuitStatusScheduleEntry = new BranchCircuitStatusScheduleEntry(); 
var result = branchCircuitStatusScheduleEntry.GetNodesInCriticalCondition(); 
İlgili konular