Мы используем NUnit (2.5.9) и NMock2 для модульного тестирования и макета. Оба, однако, имеют синтаксис соответствия, который близко соответствует. Когда я делаю
using NUnit.Framework;
using NMock2;
А позже следующий код NMock2:
Expect.Once.On(database).Method("Create").
With(Has.Property("id", Is.EqualTo("012345678901")));
Но также утверждение NUnit:
Assert.That(someValue, Is.EqualTo(54321));
Тогда VS (2008) будет жаловаться, что 'Is' является неоднозначной ссылкой между 'NUnit.Framework.Is' и 'NMock2.Is' (и то же самое для 'Has').
Есть ли способ обойти это? Кажется, что оба сопоставителя имеют схожую функциональность в любом случае. Конечно, префикс каждого класса matcher с полным пространством имен работает, но это делает тесты значительно менее читабельными.
Поиски в Google по этой проблеме вообще не нашли совпадений, так что я чувствую себя неуверенно, что я делаю что-то очень глупое.