Microsoft.Fakesを使用して、以下のコードの単体テストを作成しようとしています。私は、抽象基本クラスの保護機能メソッドの呼び出しをあざけることが困難に直面していますMicrosoft.fakesを使用して派生クラスのパブリックメソッドから基本抽象クラスの保護されたメソッドを模倣
Microsoft.Fakesに新たとして
私の基本クラス:
public abstract class MyAbstractBaseClass
{
protected virtual int MyFunctionalBaseClassMethod(int parameter1)
{
return (parameter1 * parameter1);
}
}
私の子供クラス:
public class MyChildClass : MyAbstractBaseClass
{
public int GetSquare(int parameter1) //(target method for unit test)
{
return MyFunctionalBaseClassMethod(parameter1); //(target method to mock using Fakes)
}
}
mockingのためのユニットテストコードを試しましたが、うまくいかなかった:
var square = 10;
var stubMyAbstractBaseClass = new Fakes.StubMyAbstractBase()
{
MyFunctionalBaseClassMethod = (a) => { return square; }
};
注:私の抽象基本クラスの保護されたメソッドは複雑な操作を実行するため、私はそれをモックする必要があります。上記のコードは単なるサンプルです。
何か指摘したいと思います!
を停止します。次に、Assert.IsEqual(2、x)を実行できます。 – Sasha
前述のように 注:抽象基本クラス保護メソッドは複雑な操作を実行するため、私はそれをモックする必要があります。上記のコードは単なるサンプルです。 – SRS