NUnit和NMock- ExpectAndReturn - 如何告诉NMock期望CreateObjectSet <t> </t>

时间:2011-09-29 18:01:14

标签: unit-testing generics nunit nmock

我有以下

var objSet = new DynamicMock(typeof(IObjectSet<Nationality>));
objSet.ExpectAndReturn("GetAll", new List<Nationality>
{
 new Nationality 
 {
    //obj init here
 },
 new Nationality 
 {
    //obj init here
 }
}.AsQueryable());

哪个工作得很好(我可以调用blah.GetAll()并获得预期的列表)。

我想做什么(如果可能?)告诉另一个DynamicMock期望一个带有以下签名的方法

obj.CreateObjectSet<RandomCustomType>()

但我不确定如何包含/配置调用以期待'<Type>'。

1 个答案:

答案 0 :(得分:1)

我很确定NMock 1.x不支持通用方法,并且不再支持它。如果要移动到除了NMock之外的另一个模拟框架,它有类型的接口,而不是基于硬编码的字符串? 在Rhino Mocks(例如)中,您可以按照以下方式执行此操作(示例来自yet another StackObverflow question):

  var fakeSession = MockRepository.GenerateMock<ISession>();
  fakeSession.Expect(s => s.Query<SomeClass>());