C#模拟局部参考变量
有没有办法模仿MyObject对象而不重构任何东西C#模拟局部参考变量,c#,unit-testing,moq,C#,Unit Testing,Moq,有没有办法模仿MyObject对象而不重构任何东西 public class BadClass{ public int Process(){ MyObject obj=new MyObject(); return obj.doSomething(); } } 这确实起到了作用,但有趣的是,似乎只有我在使用msfakes。当谈到java在这方面的应用时,有上百篇高质量的文章,但在c#中,MS网站上只有一篇展示如何模拟静态日期的文章 [TestClass
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);
}
}
}
这确实起到了作用,但有趣的是,似乎只有我在使用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);
}
}
}
简短回答-否。微软假货could@404整天在互联网上搜索,没有一个例子/样本。如果你知道一个帖子,你能和别人分享吗?Thanks@Imran这里有一个链接,有一个很好的解释可以帮助您开始:。您基本上想要的是在单元测试中创建一个
ShimsContext
,并更改MyObject
类的行为。e、 g.ShimMyObject.AllInstances.doSomething=(){//new behavior}
@404谢谢,成功了。你能添加一个答案,这样我就可以把它标记为正确的吗?简短答案-否。Microsoft fakescould@404整天在互联网上搜索,没有一个例子/样本。如果你知道一个帖子,你能和别人分享吗?Thanks@Imran这里有一个链接,有一个很好的解释可以帮助您开始:。您基本上想要的是在单元测试中创建一个ShimsContext
,并更改MyObject
类的行为。e、 g.ShimMyObject.AllInstances.doSomething=(){//new behavior}
@404谢谢,成功了。你能加一个答案吗?这样我就可以把它标对了?