Log4net を使用してログを記録する必要があるクラスがあります。以下は、単体テストを考慮した 2 つの解決策です。
解決策 1:
public class Car{
ILog log;
public Car(ILog log){
this.log = log
}
//use logging for other methods
}
解決策 2:
public class Car
ILog log = LogManager.GetLogger(typeof(Car));
public Car(){
}
//use logging for other methods
}
質問:
1) 一般的にはどちらの方法が良いですか?
2) 解決策 2 の場合、単体テストでロガーをどのように交換すればよいですか。