Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
TAEF proporciona funcionalidad para configurar previamente un modelo de subprocesos COM para el entorno en el que se prueba la ejecución. De forma predeterminada, las pruebas administradas © #) y Script se ejecutan en el subproceso STA; para Native, el modelo de subprocesos no está preconfigurado.
La propiedad de metadatos "ThreadingModel" se usa para solicitar un modelo de subprocesos. Los valores admitidos para esta propiedad son:
| Valor de propiedad | Descripción |
|---|---|
| STA | Single-Threaded Apartment (Se llama a CoInitializeEx con COINIT_APARTMENTTHREADED marca). |
| MTA | Apartamento multiproceso (Se llama a CoInitializeEx con COINIT_MULTITHREADED marca). |
| Ninguno | No se especifica el modelo de subprocesos. |
Configuración de un modelo de subprocesos
Ejemplo: para solicitar el modelo de subprocesos de MTA desde el marcado de C++:
class ThreadModelTests
{
TEST_CLASS(ThreadModelTests);
BEGIN_TEST_METHOD(MTAThreadingModelTest)
TEST_METHOD_PROPERTY(L"ThreadingModel", L"STA")
END_TEST_METHOD()
};
También puede solicitar la propiedad del modelo de subprocesos para una clase o un módulo. Por ejemplo,
class ThreadModelTestsWithMTADefault
{
BEGIN_TEST_CLASS(ThreadModelTestsWithMTADefault)
TEST_CLASS_PROPERTY(L"ThreadingModel", L"Mta")
END_TEST_CLASS()
TEST_METHOD(DefaultWithMTASetByClass);
};
Del mismo modo, también puede solicitar el modelo de subprocesos para pruebas administradas:
[TestClass]
public class SimpleTests
{
[TestMethod]
[TestProperty("ThreadingModel", "MTA")]
public void Test1()
{
Verify.IsTrue(true);
}
[TestMethod]
[TestProperty("ThreadingModel", "STA")]
public void Test2()
{
Verify.IsTrue(true);
}
[TestMethod]
[TestProperty("ThreadingModel", "{STA; MTA}")]
public void SetsOfMetadataTest()
{
Log.Comment("In CSharpThreadingModelExample.SetsOfMetadataTest");
DisplayAppartmentState();
}
}
Observe en la última prueba anterior: SetsOfMetadataTest, también es posible usar conjuntos de metadatos y ejecutar la misma prueba: primero con el modelo de subprocesos STA y, a continuación, con MTA.