ProductInstance

La classe ProductInstance è un esempio specifico di un prodotto in un osPlatform specifico. Si noti che è possibile testare più versioni di un tipo di prodotto in più computer. Tuttavia, ogni piattaforma , ovvero la combinazione di sistema operativo e architettura, deve essere testata singolarmente, in parallelo con le altre istanze. A differenza delle classi DeviceFamily e TargetFamily, ProductInstance è una raccolta di dispositivi diversi, mentre TargetFamily è una raccolta di dispositivi essenzialmente identici.

Usando l'esempio di una stampante, esisterebbe una classe ProductInstance separata per ogni stampante per ogni OSPlatform. Ogni classe ProductInstance potrebbe avere una classe Target o TargetFamily come figlio, oltre a una destinazione dello scanner e a una destinazione lettore di schede di memoria.

Ogni classe ProductInstance è denominata. Il valore Name deve essere univoco per ogni progetto. A differenza di un progetto, non è possibile rinominare una classe ProductInstance . Ogni classe ProductInstance è associata a un MachinePool specifico. Questo MachinePool può essere condiviso con altre classi ProductInstance .

ProductInstance include diversi metodi FindTargetFrom\*. Ogni metodo esegue ricerche tra computer in un pool di computer e restituisce TargetData per ogni destinazione che soddisfa i criteri di filtro. Il chiamante deve verificare che tutte le destinazioni da restituire vengano restituite.

TargetData è una destinazione astratta, ovvero ciò che può essere testato. La destinazione è quella che si esegue il test. Selezionare un oggetto TargetData usando uno dei metodi FindTarget\* e quindi chiamare CreateTarget() per promuovere TargetData a una classe Target per il test.