Closed
Description
Small repro:
public class StackGoesBrrrrrrr
{
[Fact]
public void ShouldRender()
{
using var ctx = new TestContext();
var cut = ctx.RenderComponent<SimpleClass>();
cut.MarkupMatches(string.Empty);
}
private sealed class SimpleClass : ComponentBase
{
protected override void OnAfterRender(bool firstRender)
{
StateHasChanged();
}
}
}
Here part of the stacktrace (with attached debugger):
StackGoesBrrrrrrr.SimpleClass.OnAfterRender() at /Users/stevengiesel/repos/bunittest/UnitTest1.cs:line 21
ComponentBase.Microsoft.AspNetCore.Components.IHandleAfterRender.OnAfterRenderAsync()
ComponentState.NotifyRenderCompletedAsync()
Renderer.NotifyRenderCompleted() at /Users/stevengiesel/Library/Application Support/JetBrains/Rider2024.3/resharper-host/SourcesCache/5555235f537c73bad3ed5397fa951468367fe360f4a1d75c13a4da898eaef3/Renderer.cs:line 882
Renderer.InvokeRenderCompletedCalls()
Renderer.ProcessRenderQueue() [41]
Renderer.ProcessRenderQueue() [40]
Renderer.ProcessRenderQueue() [39]
Renderer.ProcessRenderQueue() [38]
Renderer.ProcessRenderQueue() [37]
Renderer.ProcessRenderQueue() [36]
Renderer.ProcessRenderQueue() [35]
Renderer.ProcessRenderQueue() [34]
Renderer.ProcessRenderQueue() [33]
Renderer.ProcessRenderQueue() [32]
Renderer.ProcessRenderQueue() [31]
Renderer.ProcessRenderQueue() [30]
Renderer.ProcessRenderQueue() [29]
Renderer.ProcessRenderQueue() [28]
Renderer.ProcessRenderQueue() [27]
Renderer.ProcessRenderQueue() [26]
Renderer.ProcessRenderQueue() [25]
Renderer.ProcessRenderQueue() [24]
Renderer.ProcessRenderQueue() [23]
Renderer.ProcessRenderQueue() [22]
Renderer.ProcessRenderQueue() [21]
Renderer.ProcessRenderQueue() [20]
Renderer.ProcessRenderQueue() [19]
Renderer.ProcessRenderQueue() [18]
Renderer.ProcessRenderQueue() [17]
Renderer.ProcessRenderQueue() [16]
Renderer.ProcessRenderQueue() [15]
Renderer.ProcessRenderQueue() [14]
Renderer.ProcessRenderQueue() [13]
Renderer.ProcessRenderQueue() [12]
Renderer.ProcessRenderQueue() [11]
Renderer.ProcessRenderQueue() [10]
Renderer.ProcessRenderQueue() [9]
Renderer.ProcessRenderQueue() [8]
Renderer.ProcessRenderQueue() [7]
Renderer.ProcessRenderQueue() [6]
Renderer.ProcessRenderQueue() [5]
Renderer.ProcessRenderQueue() [4]
Renderer.ProcessRenderQueue() [3]
Renderer.ProcessRenderQueue() [2]
Renderer.ProcessRenderQueue() [1]
Renderer.ProcessPendingRender()
TestRenderer.ProcessPendingRender()
Renderer.AddToRenderQueue()
RenderHandle.Render()
RootComponent.Render()
TestRenderer.<>c__DisplayClass37_0<IRenderedFragmentBase>.<Render>b__0()
RendererSynchronizationContext.<InvokeAsync>g__Execute|9_0<Bunit.IRenderedFragmentBase>()
RendererSynchronizationContext.InvokeAsync<Bunit.IRenderedFragmentBase>()
RendererSynchronizationContextDispatcher.InvokeAsync<Bunit.IRenderedFragmentBase>()
TestRenderer.Render<Bunit.IRenderedFragmentBase>()
TestRenderer.RenderFragment()
TestContextBaseRenderExtensions.RenderInsideRenderTree()
TestContextBaseRenderExtensions.RenderInsideRenderTree<bunittest.StackGoesBrrrrrrr.SimpleClass>()
TestContext.Render<bunittest.StackGoesBrrrrrrr.SimpleClass>()
TestContext.RenderComponent<bunittest.StackGoesBrrrrrrr.SimpleClass>()
StackGoesBrrrrrrr.ShouldRender()
Metadata
Metadata
Assignees
Labels
No labels