您好我已经尝试过模拟和分类并按照以下方式进行设置。我只尝试过一次断言返回是真的。我已经厌倦了用String替换Input和使用int的Output类,它的工作正常。有什么建议吗?非常感谢你
[TestFixture]
class TestSample
{
[Test]
public void Test1()
{
Mock mockObject = new Mock();
var mockInput1 = new Mock();
var mockInput2 = new Mock();
var mockOutPut1 = new Mock();
var mockOutPut2 = new Mock();
mockObject.Setup(x => x.Get(mockInput1.Object)).Returns(mockOutPut1.Object);
mockObject.Setup(x => x.Get(mockInput2.Object)).Returns(mockOutPut2.Object);
var returned = mockObject.Object.Get(mockInput1.Object);
Assert.AreEqual(mockOutPut1, returned);
returned = mockObject.Object.Get(mockInput2.Object);
Assert.AreEqual(mockOutPut2, returned);
}
public class SampleClass
{
public virtual OutputClass Get(InputClass a)
{
return null;
}
}
public class InputClass {}
public class OutputClass {}
答案 0 :(得分:0)
你想在这里测试什么?一切都被嘲笑了!
你应该嘲笑你想要测试它的课程! 例如,如果您有一个主类和一个存储库来从数据库获取数据,您应该模拟repo并获取要使用的假数据并测试您的主类。但是如果你嘲笑你的主要类和你的回购,那么就不要测试任何东西;)
得到它? ;)