在C#单元测试中替代一种方法行为
早上好 在C#单元测试中,我只需要替换一个真实实例类(不是模拟类)的一个方法的行为 这可能吗在C#单元测试中替代一种方法行为,c#,unit-testing,mocking,C#,Unit Testing,Mocking,早上好 在C#单元测试中,我只需要替换一个真实实例类(不是模拟类)的一个方法的行为 这可能吗 谢谢 创建一个子类并重写此方法 public class BaseClass { public virtual void SomeMethod() { Console.WriteLine("Hi"); } } // Derived Class public class DerivedClass : BaseClass
谢谢 创建一个子类并重写此方法
public class BaseClass
{
public virtual void SomeMethod()
{
Console.WriteLine("Hi");
}
}
// Derived Class
public class DerivedClass : BaseClass
{
public override void SomeMethod()
{
Console.WriteLine("Hello");
}
}
如果方法If interest没有标记为virtual,并且您无法更改代码,那么您仍然可以隐藏它(我个人永远不会这么做):
通常,您将使用不同的参数创建重写方法。
public class BaseClass
{
public void SomeMethod()
{
Console.WriteLine("Hi");
}
}
// Derived Class
public class DerivedClass : BaseClass
{
public new void SomeMethod()
{
Console.WriteLine("Hello");
}
}