我正在尝试测试数据访问类。基本上,function1 是直接从 DataContext 中读取数据,而另一个 function2 是添加过滤器。function1 和 function2 可以在同一个类中或继承类。
如何存根 function1 的返回值并测试 function2?
示例代码我到此为止,但它不起作用。我曾尝试使用 Rhino Mocks 和 StructureMap Auto Mock,但在存根时仍然会出错。
任何帮助表示赞赏。非常感谢。
public class TestClass : ITestClass
{
private DbContext _context;
public IEnumerable<TestObject1> TestFunction1()
{
return _context.GetSomething();
}
public TestObject2 TestFunction2()
{
return TestFunction1().Where(x=>x.Parent == null);
}
}
public interface ITestClass
{
IEnumerable<TestObject1> TestFunction1();
TestObject2 TestFunction2();
}
[Test]
public void TestFunction2_Test()
{
var mock = MockRepository.GenerateMock<TestClass>();
var test = new List<TestObject1>();
mock.Stub(x=>x.TestFunction1()).Return(test);
var result = mock.TestFunction2();
Assert.AreSame(1, result.Count());
}