razor-components - 使用 Action 调用 RenderComponent 时出现 ArgumentNullException
问题描述
我正在尝试使用 EventBack 参数测试自定义 Razor 组件:
@code {
[Parameter]
public EventCallback OnClick { get; set; }
}
我正在使用 bUnit 和 xUnit 来尝试测试 EventCallback。这是我的测试方法:
public void TestOnClickEvent()
{
void TestOnClick()
{
Assert.True(true);
}
IRenderedComponent<CSInput> component =
RenderComponent<CSInput>(
builder => builder.Add(
instanceOfCSInput => instanceOfCSInput.OnClick,
TestOnClick));
component.Find("input").Click();
}
当我尝试运行测试时,我从 RenderComponent() 中得到了一个 ArgumentNullException,但我不知道它会是什么,因为一切都在 lambda 中。
解决方案
显然,定位功能是问题所在。我用另一个 lambda 替换了对本地函数的调用,它可以工作!
IRenderedComponent<CSInput> component =
RenderComponent<CSInput>(
builder => builder.Add(
instanceOfCSInput => instanceOfCSInput.OnClick,
() => Assert.True(true)));
推荐阅读
- python - 我需要用元组过滤列表中的特定值
- javascript - 如何重绘从 p5.js 中的类创建的对象 javascript
- meteor - 如何使用 Astronomy 和 accounts-ui 扩展用户集合?
- functional-programming - 单子组成(续·状态)
- python-3.x - Matplotlib 绘图显示不在 pandas 日期框架中的日期
- java - QueryDSL @OneToOne Join-FetchMode 与 Hibernate
- sql - 按生日 sql 排序
- c# - Why are my hidden input not being passed in the model class?
- python - How to extract JSON content with requests from an API?
- angularjs - 是否可以通过 Service Worker 更改 $rootScope 变量?