Condividi tramite


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.