Sto scrivendo una classe che so che ha bisogno di un blocco, perché la classe deve essere thread-safe. Ma siccome sono Test-Driven-Developing so che non posso scrivere una riga di codice prima di creare un test per questo. E trovo molto difficile da fare poiché i test diventeranno molto complessi alla fine. Che cosa fai di solito in questi casi? C'è qualche strumento per aiutarti?Devo eseguire un test dell'unità per problemi di multithreading prima di scrivere qualsiasi blocco?
Questa domanda è NET specifica
Qualcuno ha chiesto il codice:
public class StackQueue
{
private Stack<WebRequestInfo> stack = new Stack<WebRequestInfo>();
private Queue<WebRequestInfo> queue = new Queue<WebRequestInfo>();
public int Count
{
get
{
return this.queue.Count + this.stack.Count;
}
}
public void Enqueue(WebRequestInfo requestInfo)
{
this.queue.Enqueue(requestInfo);
}
public void Push(WebRequestInfo requestInfo)
{
this.stack.Push(requestInfo);
}
private WebRequestInfo Next()
{
if (stack.Count > 0)
{
return stack.Pop();
}
else if (queue.Count > 0)
{
return queue.Dequeue();
}
return null;
}
}
questa domanda non è specifica di .NET –
@Neil persone potrebbero puntare a domande precedenti, che hanno soluzioni Java e C++, per un problema come questo. –
e quelle sarebbero soluzioni valide - TDD non è univoco per .NET –