如何模拟在另一个组件中呈现的 Blazor 组件?

How to mock out a Blazor component rendered within another component?

假设我有以下 Parent.razor 组件:

<div>
    <span>Below is a child component.</span>
    <Child/>
</div>

其中 Child 是一个非常复杂的组件 Child.razor

如果我想对 Parent.razor 进行单元测试,我该如何模拟 <Child/> 以便测试只关注 Parent 组件?我使用哪些库?

除非您将 Parent 组件设计为可以在运行时替换它的子组件(例如通过 RenderFragment 参数),否则您无法在运行时替换组件,因此不能模拟它。

.net 5 中的一项更改将允许 bUnit 执行此操作,但对于当前版本的 Blazor,这是不可能的。