我想測試一個數據訪問類。基本上,function1直接從DataContext讀取數據,另一個函數2添加過濾器。函數1和函數2可以在相同的類或繼承類。Rhino Mocks或者StructureMap AutoMocks如何在同一個/ Inherit類中存儲函數?
如何存取函數1的返回值和測試函數2?
示例代碼我到目前爲止,但它不起作用。我試圖使用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());
}
非常感謝您的評論,我昨晚進行了測試,使方法虛擬作品。感謝您指出AreSame問題。 –