Я пытаюсь проверить класс доступа к данным. В принципе, функция1 считывает данные непосредственно из DataContext, а другая функция2 добавляет фильтры. function1 и function2 могут быть в том же классе или наследовать класс.Rhino Mocks или StructureMap AutoMocks как заглушить функции в том же классе/Inherit?
Как я могу вернуть значение функции function1 и функцию test2?
Пример кода Я получил это далеко, но он не работает. Я попытался использовать 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. –