アップデート
ファクトリをメソッドの使用法に基づいてユニットテストする必要があるかどうかを確認したいのです。テストする場合は、IoCコンテナ(私の場合はUnityを使用)を使用してタイプを登録する必要があるためです。私がファクトリをあざける場合、それは実際にファクトリメソッドをテストしていません。
以下は、パラメータに基づいて型のインスタンスを作成するファクトリクラスです。
public class CarFactory
{
public ICar CreateCar(string CarType)
{
ICar Car;
switch (CarType)
{
case RepositoryType.Car1:
Car = Ioc.ContainerWrapper.Resolve<Car1>();
break;
case RepositoryType.Car2:
Car = Ioc.ContainerWrapper.Resolve<Car2>();
break;
default:
Car = Ioc.ContainerWrapper.Resolve<Car3>();
break;
}
return Car;
}
}
class Car1
{
private readonly IRepository1 _IRepository1;
public Car1(IRepository1 repository1)
{
_IRepository1 = repository1;
}
}