2016-03-06 56 views
0
<html> 
<div> 
</div 
<div> 
</div 
<div> 
</div 
<div> 
</div 
</html> 

由於權限和用戶身份驗證,內容已被刪除。測試HTML div標記

+0

'IsManager'是'Login'類的方法,不是嗎? – Valentin

+0

是的。我想嘲笑這種方法,但登錄需要工作單元和工作單元類的參數需要上下文的參數 –

+0

您可以顯示您的IsManager方法嗎? – Valentin

回答

1

您正在測試Login類。需要嘲笑該類的依賴關係。 你會嘲笑IUnitOfWork,所以不需要擔心UnitOfWork本身。

var uow = Substitute.For<IUnitOfWork>(); 
var sut = new Login(uow); 

現在您可以撥打sut.IsManager並聲明結果。 確保設置模擬uow的行爲與您在每個測試用例中的預期一致。例如:返回非經理用戶,返回經理。

+0

但是,我不應該嘲笑上下文,因爲工作單元取決於上下文作爲參數嗎? –

+0

我已經試過按照你的建議書寫單元測試,但是uow的嘲諷是作爲一個整合。當我調試單元測試時,在調用我的方法isManager時。它的返回null作爲uow被設置爲null。從單元測試看uow。 Employee的屬性評估錯誤爲「Employee =函數評估需要所有線程運行」。 uow目標也被設置爲null。 –

+0

我不明白你的意思是什麼(模擬)就像一個整合。另外我不明白「如果將uow設置爲null,IsManager是否返回null」如果您爲IUnitOfWork和Login類提供代碼(簡化,僅在Login類中的IsManager方法以及從只能使用IsManager使用的方法) –