Contesto di attivazione
TAEF fornisce un meccanismo per specificare il "Contesto di attivazione" in base al quale deve essere eseguito il test.
Fornendo il contesto di attivazione, gli utenti possono scegliere un file binario di versione specifico da vari assembly side-by-side nel sistema. Il contesto di attivazione richiesto è specificato in un file manifesto e può essere passato a TAEF tramite la proprietà 'ActivationContext'. La proprietà 'ActivationContext' può essere specificata come parametro di runtime o come metadati di test.
File manifesto del manifesto di attivazione di esempio
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0"
processorArchitecture="*" publicKeyToken="6595b64144ccf1df"/>
</dependentAssembly>
</dependency>
</assembly>
Il file manifesto "Comctlv6.manifest", illustrato in precedenza, specifica che la versione 6 del comctl32.dll deve essere usata durante l'esecuzione del test. Per altre informazioni sui file manifesto, vedere Informazioni di riferimento sui file manifesto
Specifica del manifesto ActivationContext al prompt dei comandi
te MyUnitTest.dll /ActivationContext:ComctlV6.manifest
Questo comando esegue tutti i test in 'MyUnitTest.dll' usando il contesto di attivazione specificato nel file ComctlV6.manifest
Specifica del manifesto ActivationContext come metadati di test
Se si intende eseguire solo test case specifici in un determinato contesto di attivazione, è possibile impostarlo impostando il valore della proprietà 'ActivationContext' sul file manifesto nel metodo di test. Ad esempio, la dichiarazione del metodo di test seguente esegue solo il metodo di test 'MyTestMethod' nel contesto di attivazione specificato durante l'esecuzione di altri test nel contesto predefinito:
BEGIN_TEST_METHOD(MyTestMethod)
TEST_METHOD_PROPERTY(L"ActivationContext", L"ComctlV6.manifest")
END_TEST_METHOD()
Si noti che la proprietà 'ActivationContext' può essere impostata a livelli di classe e assembly come altre proprietà dei metadati.