MSDN声明该方法返回
如果方法成功,则为true 排队; NotSupportedException是 如果工作项没有排队,则抛出。
出于测试目的,如何让方法返回false
?或者它只是一个“次优”的类设计?
答案 0 :(得分:5)
在查看Reflector中的源代码时,似乎代码中唯一可以返回“false”的部分是对以下内容的调用:
[MethodImpl(MethodImplOptions.InternalCall)]
private static extern bool AdjustThreadsInPool(uint QueueLength);
答案 1 :(得分:1)
这可能是“保留供将来使用”的情况。您可能希望将其视为失败,但很难进行测试。
我几乎将此方法视为void / Sub。
答案 2 :(得分:1)
可以想象,当任务并行库(TPL)到达时,整个API(线程池)就会过时。
答案 3 :(得分:1)
如果方法成功排队,则为true;如果工作项未排队,则抛出NotSupportedException。
以与处理return false
相同的方式对待NotSupportedException
。
要使其返回false,请使用模拟方法或对象 您希望测试自己编写的代码,而不是底层的Windows代码。我确信微软已经为此做了很多自己的测试。