Sto eseguendo alcuni test con ScalaTest che si basano sulle connessioni ai server di test per essere presenti. Io attualmente creato il mio Spec simile a questo:Come ignorare/saltare i test a livello di programmazione con ScalaTest?
abstract class ServerDependingSpec extends FlatSpec with Matchers {
def serverIsAvailable: Boolean = {
// Check if the server is available
}
}
E 'possibile ignorare (ma non fallire) test quando questo metodo restituisce false
?
Attualmente lo faccio in un modo "hacker":
"Something" should "do something" in {
if(serverIsAvailable) {
// my test code
}
}
ma voglio qualcosa di simile
whenServerAvailable "Something" should "do something" in {
// test code
}
o
"Something" should "do something" whenServerAvailable {
// test code
}
penso che dovrei definire la mia tag personalizzato , ma posso solo fare riferimento al codice sorgente di in
o ignore
e non capisco come inserire le mie implementazioni personalizzate.
Come devo fare?
Ho trovato anche questo, ma la documentazione si riferisce solo come farlo sulla riga di comando. Tuttavia, sto eseguendo 'sbt test' su Jenkins e voglio saltare a livello di programmazione il test quando il server non è disponibile. – rabejens
quindi il programma dovrebbe reagire quando il server è disponibile o si desidera configurare Jenkins per dedurre se il server è disponibile e quindi si deve adattare Jenkins per eseguire i test di conseguenza? –
Oh, ora capisco.Attualmente avvio e chiudo il server di test a livello di codice (è fatto con Docker su un server di test di SSHing), ma usare Jenkins per questo è la soluzione più pulita. – rabejens