J'ai une application qui s'exécute sur le terminal.Scala - ScalaTest: simulation de l'entrée pendant le test
Cette application utilise uniquement Scala et SBT et je suis en train de le tester en utilisant ScalaTest. Je veux tester tous les composants comme un test d'intégration, en exécutant l'application, mais, pour cela, je veux simuler l'utilisateur envoyant des valeurs via une entrée standard en utilisant quelque chose comme un robot. Le plus important de tous, quand j'appelle readLine
ou readInt
, je veux envoyer différentes valeurs pendant le test.
Merci d'avance!
Modifier 1
Donc, j'ai ce code. Il imprime essentiellement les options pour l'utilisateur. Je veux, par exemple, envoyer 1
, puis 3,4
, pour créer une nouvelle cellule et vérifier mon CellArray pour vérifier si une nouvelle cellule a vraiment été créée dans cette position.
do {
println("Select one of the options: \n \n");
println("[1] Make a cell alive");
println("[2] Next generation");
println("[3] Halt");
print("\n \n Option: ");
option = parseOption(readLine)
}while(option == 0)
option match {
case MAKE_CELL_ALIVE => makeCellAlive
case NEXT_GENERATION => nextGeneration
case HALT => halt
}
Fondamentalement, ce que vous voudrez faire est d'avoir une implémentation de test des bords de votre programme (readLine/readInt) qui fournissent des valeurs codées à la main ou générées (par exemple ScalaCheck). Déposez un peu de votre code ici et nous pouvons essayer de vous aider avec plus de détails. – Ren