![]() |
1
164
你所做的一切都是正确的,只要你想让你的测试问“最后一个被提出的事件是什么?” 你的代码按这个顺序触发这两个事件
这是否“正确”取决于这些事件的目的。 如果要测试引发的事件数以及它们的引发顺序,可以轻松地扩展现有测试:
|
![]() |
2
19
如果您正在进行TDD,那么事件测试可以开始生成 许多 重复的代码。我编写了一个事件监视器,它可以为这些情况下的单元测试编写提供更清晰的方法。
有关更多详细信息,请参阅我对以下内容的回答。 Unit testing that an event is raised in C#, using reflection |
![]() |
3
7
这是非常古老的,甚至可能不会被阅读,但通过一些很酷的新.NET功能,我创建了一个inpc跟踪类,它允许:
|
![]() |
4
5
下面是一个稍作改动的安德鲁代码,它不只是记录引发的事件序列,而是计算调用特定事件的次数。虽然它是基于他的代码,但我发现它在我的测试中更有用。
|
![]() |
5
1
不要为每个成员编写测试-这是很多工作 (也许这个解决方案并不适用于所有情况——但它显示了一种可能的方法。您可能需要为您的用例调整它) 可以使用库中的反射来测试成员是否都正确响应了属性更改事件:
以下代码可以用作库,并演示如何测试以下泛型类
现在可以将类的测试编写为。(也许您希望将测试拆分为“事件是否存在”和“用正确名称引发的事件”-您可以自己这样做)
等级
|
![]() |
6
0
基于本文,我创建了这个简单断言助手:
有了这个方法助手,测试变得非常简单。
|
![]() |
7
0
我在这里做了一个扩展:
有以下用法:
|
|
wavesinaroom · 断言结构向量长度 5 月前 |
![]() |
Tim Kirkwood · 比较空数据帧 6 月前 |
![]() |
Kamran Khan · 使用单元测试ASP。NET核心 10 月前 |
![]() |
paymer · 为什么我的代码没有删除我的单元测试生成的zip文件? 11 月前 |
![]() |
Ricky Mo · 角度测试如何模拟导入的const 11 月前 |
![]() |
Natty · Visual Studio中缺少“代码覆盖率结果” 11 月前 |