【发布时间】:2018-03-21 05:35:23
【问题描述】:
我有一个在终端上运行的应用程序。
此应用仅使用 Scala 和 SBT,我正在使用 ScalaTest 对其进行测试。
我想测试所有组件,例如集成测试,运行应用程序,但是,为此,我想模拟用户使用机器人之类的东西通过标准输入发送值。最重要的是,当我调用readLine 或readInt 时,我想在测试时发送不同的值。
提前致谢!
编辑 1
所以,我有这个代码。它基本上为用户打印选项。例如,我想发送1,然后发送3,4,以创建一个新单元并检查我的 CellArray 以检查是否真的在该位置创建了一个新单元。
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
}
【问题讨论】:
-
基本上,您想要做的是对程序边缘(readLine/readInt)进行测试实现,提供手动编码或生成(例如 ScalaCheck)值。将您的一些代码放在这里,我们可以尝试提供更多细节方面的帮助。