Ich habe eine Klasse ähnlich den folgenden:C#: Wie Unit-Test eine Methode, die auf einer anderen Methode innerhalb der gleichen Klasse beruht?
public class MyProxy : ClientBase<IService>, IService
{
public MyProxy(String endpointConfiguration) :
base(endpointConfiguration) { }
public int DoSomething(int x)
{
int result = DoSomethingToX(x); //This passes unit testing
int result2 = ((IService)this).DoWork(x)
//do I have to extract this part into a separate method just
//to test it even though it's only a couple of lines?
//Do something on result2
int result3 = result2 ...
return result3;
}
int IService.DoWork(int x)
{
return base.Channel.DoWork(x);
}
}
Das Problem liegt in der Tatsache, dass, wenn ich nicht weiß, zu testen, wie der result2 Artikel verspotten, ohne das Teil zu extrahieren, die result3 result2 in eine separaten Verwendung bekommt Methode. Und weil es Unit-Testing ist, möchte ich nicht so tief gehen, um zu testen, was result2 als ... zurückkommt. Ich würde die Daten eher irgendwie vortäuschen ... wie, die Funktion aufrufen und genau das ersetzen können ein Anruf.
Das hat funktioniert! Vielen Dank! Jetzt, um es sauberer und privater zu machen. – michael