В прошлом, когда я хотел издеваться над абстрактным классом, я бы просто создал издевавшийся класс в коде, который расширил абстрактный класс, а затем использовал этот класс в моем модульном тестировании...
public abstract class MyConverter : IValueConverter
{
public abstract Object Convert(...) { ... };
public virtual Object ConvertBack(...) { ... }
}
private sealed class MockedConverter : MyConverter { ... }
[TestMethod]
public void TestMethod1()
{
var mock = new MockedConverter();
var expected = ...;
var actual = mock.ConvertBack(...);
Assert.AreEqual(expected, actual);
}
Я хочу привыкнуть вместо этого использовать Moq. Я не уверен, как я могу использовать Moq для проверки возвращаемого значения по умолчанию моего абстрактного класса. Любой совет здесь?