为一个信号量编写单元测试

本文关键字:信号量 单元测试 一个 | 更新日期: 2023-09-27 18:10:20

我发现了很多关于如何为多线程代码编写测试的问题。无论如何,它们大多过于抽象,而且只有少数几个真正的测试示例。我想到了一个更狭隘的问题。

如何在c#中编写一个好的信号量测试?让我们说一个SemaphoreSlim实现的测试。它应该涵盖本质逻辑,而不是一大堆实现细节。

为一个信号量编写单元测试

测试任何阻塞操作总是非常困难的。通常,对锁/信号量进行功能测试。换句话说,与其尝试创建一个复杂的单元测试来验证阻塞调用,我建议创建一个尝试破坏代码的测试……信号量通常用于节流,所以如果代码在大量调用的情况下仍然保持功能,我认为它是好的。信号量不是你编写的代码(假设你使用的是。net提供的类),所以你不应该觉得有必要测试它们的功能。