私は複数の展開モードをサポートするプロジェクトを持っています:InMem、OnPremise、Cloud。 また、各プロジェクトにはTimeDistanceのような小さなサービスがあり、WCFにもAPIにも接続できます。私は私が使用したい1と言うことができunitTestMockupでUnitTestを異なるモックアップ設定で2回実行する方法
:
Service.TimeDistance = new WCFTimeDistance()/new APITimeDistance().
今まで、私はWCFTimeDistanceのみを持っていたが、今はAPITimeDistanceに移動する遷移モードであるが、その間に私は時にしたいです私は2度、WCFでAPIを使って1回実行するテストを実行します。
これを行うには、どのような方法が良いですか?
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 2つのユニットテストを作成します。また、静的クラスの代わりに抽象クラスを使用する方法もあります。それは嘲笑とテストをより簡単にするでしょう。 – Nkosi