Искам да се подигравам на същия интерфейс повече от веднъж. Кодът по-долу показва какво мисля, че ме спира.
Прочетох наоколо и не мога да намеря решение на това. Изглежда, че няма начин да се направи разлика между _mockOne и _mockTwo.
public interface IDoSomething
{
}
[TestFixture]
class RhinoTest
{
private IDoSomething _mockOne;
private IDoSomething _mockTwo;
[SetUp]
public void SetUp()
{
_mockOne = MockRepository.GenerateMock<IDoSomething>();
_mockTwo = MockRepository.GenerateMock<IDoSomething>();
var somethings = new Dictionary<string, IDoSomething>
{
{"one", _mockOne},
{"two", _mockTwo}
};
//Pass this dictionary to a constructor for use in tests
}
}
Ако отстраня грешки в кода, установявам, че двата обекта имат един и същ идентификатор.
Осъзнавам, че това може да е по-скоро свързано с лоша абстракция, но би било наистина полезно при текущата позиция на нашия проект, ако има начин да се заобиколи това.
Много благодаря предварително.