Создание инъекции зависимостей для представления бритвы для испытаний c - PullRequest
1 голос
/ 06 марта 2020

У меня есть приложение 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 скрыт из-за уровня защиты.

Вот ошибка в контексте :

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...