Existe-t-il un moyen d'effectuer le test unitaire WaitHandle.WaitAll()
lors de l'utilisation de la solution de test unitaire intégrée de Visual Studio. Lorsque je tente et exécuter un test qui utilise cette fonction dans Visual Studio le test échoue et lors de l'examen des résultats des tests l'erreur suivante est affichée:Comment utiliser WaitHandler.WaitAll dans MSTest sans avertissements STA?
WaitAll for multiple handles on a STA thread is not supported
Je voudrais être en mesure de test unitaire l'utilisation de WaitAll()
Puisqu'une quantité croissante de la base de code de mon API est maintenant passer à un modèle IAsyncResult
par opposition à d'autres moyens de faire des opérations multi-thread.
Modifier
Basé sur la suggestion d'Anthony est une méthode simple d'aide ici qui peut être utilisé pour invoquer un tel code dans un environnement de test unitaire:
public static void TestInMTAThread(ThreadStart info)
{
Thread t = new Thread(info);
t.SetApartmentState(ApartmentState.MTA);
t.Start();
t.Join();
}
Quelle version de Visual Studio? –
Visual Studio 2008 avec possibilité de passer à 2010 si nécessaire – RobV