问题标签 [bunit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
729 浏览

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

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

哪里Child是一个非常复杂的组件Child.razor

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

0 投票
2 回答
1457 浏览

c# - 如何在 bunit Blazor 组件单元测试中注入 NavigationManager

从单元测试注入时出现此错误。

我的代码:

0 投票
1 回答
373 浏览

asp.net-core - Blazor 服务器页面单元测试 - 如何模拟 Blazor 服务器页面中使用的辅助 signalR 客户端连接

我是 bUnit 的新用户,并设法运行了一些测试NavMenu以掌握基本概念。但是,不同的 Blazor 页面向辅助 signalR 集线器发出请求以进行工作流状态的通信。

如何模拟signalR连接? https://github.com/dotnet/aspnetcore/issues/14924

使用附加 signalR 连接来传达工作流状态的服务器页面

存根单元测试类

0 投票
1 回答
1133 浏览

c# - Blazor 测试 InputDate 与 bUnit 的绑定

我有一个 Blazor 页面,想通过 bUnit 和 xUnit 进行单元测试。我想更改输入值并验证结果。

使用 InputText 一切正常。使用 InputNumber 我只能传递字符串。如果我通过数字值保持不变。

InputDate 绑定的问题:我无法正确更改值。我试过了 :

该值保持不变(不变)。

或者

值无效,validation-message:日期字段必须是日期。

我的 Blazor 页面:

和我的单元测试:

cat 我如何测试 InputDate 绑定?

0 投票
1 回答
59 浏览

unit-testing - 如何在使用 Bunit 自动化脚本时更新 Scroll 值

我们需要更新 blazor 平台中 a 元素的 scrollLeft 值。我们尝试使用下面的代码片段通过数据绑定来更新 scroll Left 属性。但它不起作用。所以必须使用 JS 代码来更新父元素的 scrollLeft 属性。

JS代码如下所示

从上面的代码来看,当我们使用 JS 代码片段更新 DOM 元素时,它并不适合 Bunit 测试。那么在这种情况下,我如何能够在 Bunit 脚本中设置滚动值?

0 投票
1 回答
19 浏览

razor-components - 使用 Action 调用 RenderComponent 时出现 ArgumentNullException

我正在尝试使用 EventBack 参数测试自定义 Razor 组件:

我正在使用 bUnit 和 xUnit 来尝试测试 EventCallback。这是我的测试方法:

当我尝试运行测试时,我从 RenderComponent() 中得到了一个 ArgumentNullException,但我不知道它会是什么,因为一切都在 lambda 中。

0 投票
1 回答
185 浏览

blazor-webassembly - 在 OnInitializedAsync 方法中获取页面数据后如何检查标记?

我是 Blazor 和 bUnit 的新手。我有呈现编辑表单的组件,并在 OnInitializedAsync 事件中获取表单的值。

我无法弄清楚如何使用 cut.WaitForState() 或 cut.WaitForAssertion()。

这是我的剃须刀代码:

而我背后的代码:

这是我的测试:

当我调试测试时,我可以看到 OnInitializedAsync 触发,但是我的标记从未更改为包含“Hello World”并且 WaitForState() 命令失败。

0 投票
1 回答
117 浏览

c# - 如何在 Blazor 中修复这个简单的 ElementNotFoundException?

我正在对 Blazor 应用程序进行单元测试。我得到一个 ElementNotFoundException。我认为造成这种情况的原因是 index.razor 页面中的 if 语句。见下面的代码:

这个页面后面的代码(index.razor.cs)有如下初始化代码:

此页面的测试在这里:

#input 丢失了..为什么?

提前致谢!

0 投票
1 回答
71 浏览

c# - 如何在 BUnit 中使用继承的 TestContext 添加测试授权?

我在 BUnit 中有一个继承的 TestContext,我想添加 Testauthorization。

这不起作用:

如果我使用带有样板代码的“普通”版本,就像遵循它一样。

这有效:

所以我的问题是,如何在 BUnit 中使用继承的 TestContext 添加测试授权?

0 投票
0 回答
81 浏览

c# - 使用 Bunit 的条件模拟数据(Moq)

我有一个像这样的带有最小起订量的条件模拟数据,它根据参数是否为空返回不同的数据。

我这样注册服务Services.AddSingleton(locationMock.Object);

然后我有一个输入框,在其中输入“TEST LOCATION”并单击搜索图标,该图标应该过滤数据 AKA 返回“filteredThread”。当我通过它进行调试时,我可以看到它遇到了不同的条件。但是,返回的数据始终是“线程”,其中不包含过滤后的数据,而是原始数据。

我想知道我做错了什么,或者我是否可以做些什么来实现在 bunit 中显示的数据的有条件返回。