使用 Action 调用 RenderComponent 时出现 ArgumentNullException
ArgumentNullException when invoking RenderComponent with Action
我正在尝试使用 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)));
我正在尝试使用 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)));