C'è un modo per iniettare un mock durante l'utilizzo di bianco per il test di accettazione?

StackOverflow https://stackoverflow.com/questions/4158393

Domanda

Nella nostra applicazione client / server, il lato server è esposto da una collezione di servizi web. Le interagisce client con quello che noi chiamiamo un contesto un'applicazione di effettuare chiamate al server. Mi piacerebbe essere in grado di prendere in giro il contesto dell'applicazione durante il test di accettazione in modo da isolare il test per appena il cliente, piuttosto che lasciare che i test scorrono tutta la strada dal client al server di database e di dover impostare il database con la dati corretti per ogni test che si vogliono eseguire.

È possibile? O dovrei essere prendendo un approccio diverso?

È stato utile?

Soluzione

bianco viene eseguito utilizzando Microsoft UI Automation, che guarda ad ogni interfaccia grafica supportata. Essa non si preoccupa il codice sottostante a tutti, e non è possibile interagire con quel codice nello stesso modo in cui si sarebbe in grado di con un test di unità.

In genere ci si avvia l'applicazione tramite il suo exe, quindi usare il bianco per automatizzare esso. Per avviarlo con solo il cliente, avresti bisogno di provocare il processo stesso di iniziare con il contesto dell'applicazione deriso-out. Ciò significherebbe la compilazione del exe di conseguenza, o di avere due file eseguibili diversi, uno dei quali configura i pacchetti in modo corretto e uno dei quali non.

Senza il database, non sei davvero l'esecuzione di un test di accettazione - una che verifica che il codice è in un buono stato per l'accettazione in produzione. Quindi io non mi preoccuperei beffardo il database.

vorrei prendere uno di questi approcci:

  • Ricrea il database per ogni prova, popolando con un contesto appropriato, se necessario

  • tag i dati generati dal test con la data-tempo in modo che si può dire che a parte i dati normali

  • fare una versione falsa del server che risponde con risposte fisse per le richieste, e dirigere l'applicazione per utilizzare che invece (magari con solo una linea comando arg). Si ricorda che questa continua a non verificare che tutto funziona con il database. Può essere opportuno se si desidera solo per mostrare la gestione degli errori, o se un'altra squadra sta per essere responsabile della produzione del servizio.

Spero che queste idee aiuto e fornire opzioni, comunque!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top