C# 模拟局部引用变量
C# mock local reference variable
有什么方法可以在不重构任何东西的情况下模拟出 MyObject obj 吗?
public class BadClass{
public int Process(){
MyObject obj=new MyObject();
return obj.doSomething();
}
}
这确实有效,但有趣的是似乎只有我在使用 msfakes。谈到 java 这样的事情,有很多高质量的文章,但是在 c# 中,MS 网站上只有一篇展示如何模拟静态日期。
[TestClass]
public class UnitTest1
{
private BadClass badClass=new BadClass();
[TestMethod]
public void TestMethod1()
{
using (ShimsContext.Create())
{
SampleCCProject.Fakes.ShimMyObject.AllInstances.doSomething =
@class =>
{
Console.WriteLine("Hello");
return 9;
};
Assert.AreEqual(badClass.Process(), 9);
}
}
}
有什么方法可以在不重构任何东西的情况下模拟出 MyObject obj 吗?
public class BadClass{
public int Process(){
MyObject obj=new MyObject();
return obj.doSomething();
}
}
这确实有效,但有趣的是似乎只有我在使用 msfakes。谈到 java 这样的事情,有很多高质量的文章,但是在 c# 中,MS 网站上只有一篇展示如何模拟静态日期。
[TestClass]
public class UnitTest1
{
private BadClass badClass=new BadClass();
[TestMethod]
public void TestMethod1()
{
using (ShimsContext.Create())
{
SampleCCProject.Fakes.ShimMyObject.AllInstances.doSomething =
@class =>
{
Console.WriteLine("Hello");
return 9;
};
Assert.AreEqual(badClass.Process(), 9);
}
}
}