Включить свойство с [Key] в абстрактный класс - PullRequest
0 голосов
/ 22 января 2019

Я пытаюсь смоделировать (Moq lib) абстрактный класс (в этом примере X-класс).Внутри этого класса это свойство, которое было назначено как [ForeignKey("xId")].Классы следующие, и я пытаюсь смоделировать этот класс X.

Но я получаю сообщение об ошибке

"System.NotSupportedException: 'Недопустимая настройка для не виртуального (переопределяемогов VB) member: mock => mock.SubX '"

.

Кто-нибудь знает, как лучше всего издеваться над таким свойством?

public abstract class X
{
   [ForeignKey("xId")]
   public SubX SubX {get; set;}
}

public class SubX
{
   [Key]
   public int Id {get; set;}
}

var mockedX = Mock.Of<X>(a => a.SubX.Id == 10);

1 Ответ

0 голосов
/ 22 января 2019

Используйте неабстрактный класс, наследующий от X:

class XMock : X
{
}

var mockedX = new XMock(); 
...