データ アクセス クラスをテストしようとしています。基本的に、function1 は DataContext から直接データを読み取り、もう 1 つの 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());
}