我有一個支持多種部署模式的項目:InMem,OnPremise,Cloud。 另外,每個項目都有像TimeDistance這樣的小型服務,它可以連接到WCF,也可以連接到API。如何使UnitTests以不同的樣機設置運行兩次
在unitTestMockup我可以說,這就是我想要的使用方法:
Service.TimeDistance = new WCFTimeDistance()/new APITimeDistance().
到現在爲止我只有WCFTimeDistance,但現在我們正處於過渡模式搬到APITimeDistance但在此期間,我想,當我運行測試來運行兩次,一次使用API的WCF。
這樣做的好方法是什麼?
I use C# 4.5
Microsoft.VisualStudio.QualityTools.UnitTestFramework as framework for unitTests
期望的工作流程的一個簡單的例子是這樣的:
1)Mockup: Service.TimeDistance = new WCFTimeDistance();
2)UnitTest: CheckDistanceBetweenTwoLocationsTest()
{
Service.TimeDistance.CalculateDistance(Location1, Location2) // WCFTimeDistance
}
3)Mockup: Service.TimeDistance = new APITimeDistance();
UnitTest: CheckDistanceBetweenTwoLocationsTest()
{
4)Service.TimeDistance.CalculateDistance(Location1, Location2) // APITimeDistance
}
對不起 - 什麼語言,什麼單元測試框架?另外,你能提供[mcve]嗎?還是很好的問題! – Mafii
編輯,謝謝! –
@AndreiDutu創建兩個單元測試。也看看使用抽象而不是靜態類。這將使嘲笑和測試更容易 – Nkosi