C# 在bunit测试中是否有方法设置OnAfterRender方法的firstRender变量?

C# 在bunit测试中是否有方法设置OnAfterRender方法的firstRender变量?,c#,xunit,bunit,C#,Xunit,Bunit,假设我有一个类,我想测试这两个类,firstRender=false和firstRender=true“路径”。为此,我使用bunit和xunit public class ToTest { protected async override void OnAfterRender(bool firstRender) { if(firstRender) { //do stuff } e

假设我有一个类,我想测试这两个类,
firstRender=false
firstRender=true
“路径”。为此,我使用bunit和xunit

public class ToTest {
    protected async override void OnAfterRender(bool firstRender)
    {
         if(firstRender)
         {
              //do stuff
         }
         else
         {
              //do other stuff
         }
    }
}
公共类TestClass:TestContext
{
[事实]
公开无效测试()
{
//在这种方法之前安排好东西
var cut=RenderComponent(参数=>parameters
.Add(p=>p.authenticationStateTask,stateProvider.getAuthenticationStateAync());
}
}
在bunit测试中是否有方法设置OnAfterRender方法的firstRender变量?
我必须调整RenderComponent参数吗?

bUnit允许您对测试中的组件执行多个渲染。第一次渲染将始终将
firstRender
设置为
true
,任何其他渲染都将其设置为
false
,就像常规Blazor运行时一样

例如:

公共类TestClass:TestContext
{
[事实]
公开无效测试()
{
//First render,其中firstRender为true
var cut=RenderComponent(参数=>parameters
.Add(p=>p.Param,“Bar”);
//第二个渲染,其中firstRender为false
cut.Render();
//第三次渲染,在渲染生命周期中设置新参数
//firstRender也是假的
cut.SetParametersAndRender(参数=>parameters
.Add(p=>p.Param,“Foo”);
}
}
在此处了解更多信息:

public class TestClass : TestContext
{
    
    [Fact]
    public void Test()
    {
        //Arrange stuff before this method
        var cut = RenderComponent<News>(parameters => parameters
        .Add(p => p.authenticationStateTask, stateProvider.GetAuthenticationStateAsync()));
    }

}