Ich muss die private Methode CheckWarehouseAvailability
in einer abstrakten Klasse testen.Komponententest C# für private Methode
public abstract class BaseAPI
{
private void CheckWarehouseAvailability(Order order)
{
//codes here
}
}
public class Processor : BaseAPI
{
}
Hier mein Testmethod ist
Processor pro = new Processor();
PrivateObject privBase = new PrivateObject(pro, new PrivateType(typeof(BaseAPI)));
var retVal = privBase.Invoke("CheckWarehouseAvailability(order)");
Assert.AreEqual(true, retVal);
Wenn ich die Testmethode laufen, habe ich diesen Fehler: An exception of type 'System.MissingMethodException' occured in mscorlib.dll but was not handled in user code
Das Argument
dann rufen Sie die Methode bekommen ('order') muss vor dem Aufruf aufgebaut und weitergegeben als ein zusätzliches Argument zu "Invoke". Wie Sie gerade schreiben, versuchen Sie, eine Methode aufzurufen, die als Teil ihres Namens die Zeichenfolge "(order)" enthält. – dlatikay