gpt4 book ai didi

c# - 如何在 FakeItEasy 中为基于自定义委托(delegate)的事件引发事件?

转载 作者:太空狗 更新时间:2023-10-29 23:33:01 25 4
gpt4 key购买 nike

我正在测试的应用程序充满了基于自定义委托(delegate)的事件,例如:

public delegate void NameChangedHandler(string name);
public event NameChanged OnNameChanged;
...
public void ChangeYourName(string newName)
{
if( NameChanged != null )
NameChanged(newName);
}

我想模拟产生这些事件的类并将这些事件引发给被测类。

我知道 FakeItEasy 可以使用 Raise.With() 通过 MyHandler(object sender, EventArgs e)MyHandler 的传统事件签名引发事件(EventArgs e),但我不知道在我的情况下该怎么做。

有什么想法吗?

最佳答案

截至FakeItEasy 2.0.0 ,现在这是可能的。

Raising Events documentation topic有完整的故事,但要点是你会使用

fake.OnNameChanged += Raise.With<NameChanged>(newName);

一如既往,事件必须是虚拟的。

关于c# - 如何在 FakeItEasy 中为基于自定义委托(delegate)的事件引发事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12921983/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com