我有一个支持多种部署模式的项目:InMem, OnPremise, Cloud。此外,每个项目都有像 TimeDistance 这样的小型服务,可以连接到 WCF,也可以连接到 API。
在 unitTestMockup 我可以说我想使用哪一个:
Service.TimeDistance = new WCFTimeDistance() / new APITimeDistance().
到目前为止,我只有WCFTimeDistance,但现在我们处于过渡模式以转移到 APITimeDistance,但与此同时,我希望在运行测试时运行两次,一次使用 WCF,一次使用 API。
这样做的好方法是什么?
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
}