Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unit testing 如何模拟在另一个组件中渲染的Blazor组件?_Unit Testing_Mocking_Nunit_Blazor_Bunit - Fatal编程技术网

Unit testing 如何模拟在另一个组件中渲染的Blazor组件?

Unit testing 如何模拟在另一个组件中渲染的Blazor组件?,unit-testing,mocking,nunit,blazor,bunit,Unit Testing,Mocking,Nunit,Blazor,Bunit,假设我有以下Parent.razor组件: <div> <span>Below is a child component.</span> <Child/> </div> 其中Child是一个非常复杂的组件Child.razor 如果我想对Parent.razor进行单元测试,如何模拟,以便测试只关注父组件?我应该使用什么库?除非您将父组件设计为可以在运行时替换其子组件(例如,通过RenderFragment参数),否则

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

<div>
    <span>Below is a child component.</span>
    <Child/>
</div>
其中Child是一个非常复杂的组件Child.razor

如果我想对Parent.razor进行单元测试,如何模拟,以便测试只关注父组件?我应该使用什么库?

除非您将父组件设计为可以在运行时替换其子组件(例如,通过RenderFragment参数),否则您无法在运行时替换组件,因此无法对其进行模拟

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

除非您设计父组件,使其子组件可以在运行时替换(例如,通过RenderFragment参数),否则无法在运行时替换组件,因此无法对其进行模拟


.net 5中有一个改动,允许bUnit这样做,但对于Blazor的当前版本,这是不可能的。

您尝试过bUnit吗?如果我错了,请纠正我,但bUnit只是一个测试框架,没有模拟工具。模拟组件需要IChild或parent.child参数以及某种注入。这将是困难的,可能不值得。。。你认为模拟api是如何工作的?一个示例api:模拟替换html?是的,类似的东西。我来自一个特殊的背景。在react中,我们将使用Jest.Mock用类似{children}的东西替换某些组件。您是否尝试过bUnit?如果我错了,请纠正我,但bUnit只是一个测试框架,没有模拟工具。模拟组件将需要一个IChild或parent.child参数和某种注入。这将是困难的,可能不值得。。。你认为模拟api是如何工作的?一个示例api:模拟替换html?是的,类似的东西。我来自一个特殊的背景。在react中,我们将使用Jest.Mock用类似{children}的内容替换某些组件。阅读此答案的人可能也对几天前打开的内容感兴趣。正确,我们正在启用此场景。感谢分享链接@J.P.tenberge阅读此答案的人可能也对几天前打开的链接感兴趣。正确,我们正在努力启用此场景。谢谢分享链接@J.P.tenBerge