Diferentes expectativas de prueba unitaria bajo diferentes entornos de sistema operativo

saurav:

Tengo una aplicación Java del lado del cliente que se ejecuta en múltiples sistemas operativos.

Quiero poner a prueba una lógica que da diferentes expectativas cuando se ejecuta en diferentes sistemas operativos.

Por ejemplo, cuando se ejecutan en Windows la lógica pasará y cuando corro en OSX la lógica va a lanzar una excepción.

Puedo escribir dos ensayos separados y ejecutar un solo uso de perfiles de construcción separados para diferentes sistemas operativos, pero es posible escribir una sola prueba JUnit que se comportan de manera diferente bajo diferentes sistemas operativos. ?

Para OSX quiero anotar la prueba con excepción, ya que las expectativas y para la lógica normal de Windows debería funcionar. ¿Es posible en Junit que en tiempo de ejecución de las expectativas difieren en ciertas circunstancias?

Atentamente,

saurav

Gazzo:

con el System.getProperty("os.name")se puede comprobar qué sistema operativo que se encuentra, entonces se puede utilizar en ejecución condicional para excluir los casos de prueba que no es necesario en un sistema operativo específico, por ejemplo,

public class SomeTest {
  @Rule
  public ConditionalIgnoreRule rule = new ConditionalIgnoreRule();

  @Test
  @ConditionalIgnore( condition = NotRunningOnWindows.class )
  public void testFocus() {
    // ...
  }
}

public class NotRunningOnWindows implements IgnoreCondition {
  public boolean isSatisfied() {
    return !System.getProperty( "os.name" ).startsWith( "Windows" );
  }
}

fuente: afín código

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=187318&siteId=1
Recomendado
Clasificación