У меня есть приложение Blazor, для которого я пишу тесты, и было бы все намного проще, если бы я мог просто создать экземпляр представления / компонента и вызвать события onclick et c. прямо из моего теста, а не из отдельных внедренных классов (у меня есть несколько вещей, введенных в представления).
Например, InjectedClass.cs
public class InjectedClass : IInjectedClass
{
public int MyNumber {get;set;}
public void SetMyNumber(int num)
{
MyNumber = num;
}
}
MyView.razor:
@inject IInjectedClass injectedClass
...
@code{
protected override void OnInitialized()
{
injectedClass.SetMyNumber(5);
}
}
На данный момент я должен внедрить класс в свои тесты и запустить SetMyNumber вручную. Я хочу иметь возможность создать экземпляр MyView.razor и затем запустить
Assert.That(instanceOfMyView.injectedClass.MyNumber == 5)
, но instanceOfMyView.injectedClass скрыт из-за уровня защиты.
Вот ошибка в контексте :