gpt4 book ai didi

c# - 如何对锁定语句进行单元测试?

转载 作者:太空狗 更新时间:2023-10-29 18:13:37 25 4
gpt4 key购买 nike

我将如何编写单元测试以确保获得锁?

例如:

public void AddItem(object item)
{
lock (_list)
{
_list.Add(item)
}
}

有没有办法确保 lock 语句运行?

编辑:我并不是要证明线程安全(我会假设),只是调用了 lock() 语句。

例如,我可能会通过在 CreateObject() 工厂函数中替换它来测试 new object() 语句。

最佳答案

对多线程进行单元测试总是很棘手,应该小心处理。

在您的情况下,我不会费心测试 lock 关键字,原因与您不为 new 编写测试的原因相同。

Assert.IsNotNull(new object());

此外,您似乎正在封装为线程不安全的集合,以使其成为线程安全的。与其重新发明轮子,不如考虑使用 thread-safe collections .

关于c# - 如何对锁定语句进行单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10816932/

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