如何解决如何用 bunit 打开一个 blazored 模态?
我想用 bunit 测试模态是否打开。问题是,模态没有被渲染。如何用 bunit 打开一个 blazored modal?
在我测试的组件中创建模态:
<div style="display: flex; justify-content: flex-end">
<button class="btn btn-success
btn-lg"
id="openModalButton"
@onclick="CheckOpenModal">
Hinzufügen
</button>
</div>
@code
{
[CascadingParameter] public IModalService Modal { get; set; }
private async Task OpenModalForCreation()
{
List<string> Parametera = new List<string>();
var parameters = new ModalParameters();
parameters.Add(nameof(CreationModal.Parametera),Parametera);
Modal.Show<CreationModal>("Create something",parameters);
}
}
我的测试班:
public class PrivateMachinesCompTest : TestContext
{
public Comptest()
{
Services.AddblazoredModal();
}
[Fact]
public void CheckOpenModal()
{
modalService = new ModalService();
var cut = RenderComponent<ComponentUnderTest>(parameters => parameters
.AddCascadingValue(modalService));
var openModalButton = cut.Find("#openModalButton");
openModalButton.Click();
cut.MarkupMatches("Create something");
}
解决方法
问题在于您没有渲染实际进行渲染的组件。仅仅传入一个 IModalService
是不行的。
我的方法是创建 IModalService
的模拟并断言调用了它的预期方法。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。