Quindi, ho eseguito il refactoring della mia applicazione di videoconferenza per un po ', coprendola con test unitari e generali. Infine, sono arrivato al punto in cui ho bisogno di scrivere un test di loopback con 1 client che invia lo streaming video a un altro client. Questo non dovrebbe funzionare come un processo, anche sulla stessa macchina. Tuttavia, ho bisogno di scrivere questo test per garantire che tutti i componenti separati funzionino correttamente insieme. Tuttavia, una volta messo insieme tutto questo, comincio a notare come alcune parti, precedentemente coperte da test unitari, inizino a comportarsi in modo leggermente diverso: in pratica, le scadenze vengono perse e i requisiti in tempo reale vengono violati. Tendo a credere che ciò stia accadendo a causa del fatto che il codice per due client funziona più lentamente in un eseguibile, a differenza del caso se i due client erano su macchine separate (come sarebbe nello scenario reale).
Quindi, come si dovrebbero progettare i test per un tale software e tenere conto di questi vincoli? Chiedendo le migliori pratiche qui.