Nel mio ambiente di test eseguiamo lo stesso insieme di test di integrazione (e talvolta di unità) su sistemi diversi che hanno capacità diverse.
Alcuni test non possono essere eseguiti su alcuni sistemi perché manca una funzionalità che abilita questo scenario o abbiamo bisogno di un comportamento completamente diverso.
Attualmente utilizziamo MSTest e abbiamo test con questo modello:
[TestMethod]
public void TestMethod1()
{
if(targetSystem.SupportsFeatureX == false)
Assert.Inconclusive("Not supported by underlying system");
// the code for the actual test follows
}
Dovremmo contrassegnare il test come Inconclusive
o lasciarlo Pass
se il controllo della funzionalità non è soddisfatto?
Tieni presente che targetSystem
è un sistema di terze parti su cui non abbiamo alcun controllo, quindi viviamo solo con le funzionalità che sono presenti.