有一个名为“ MainProcess.scala”的主类,我正在为其运行一些测试用例。我希望为此类编写一个端到端测试,以验证其功能。 这里的问题是端到端测试需要建立一些标准才能测试整个功能。例如:
class MainProcess() {
def foo(someparams):Future[Boolean] = {
if criteria true else false
}
def bee(some params):Future[WSResponse] = {
// call a micro service
}
}
我的问题是:模仿'foo'方法以使其始终返回true还是模仿'bee'方法是一种好的做法,以便测试可以通过这些模块并继续进行直到达到我打算看到的为止结果。在测试此类时,我知道嘲笑同一类会导致测试用例的错误或故障:
private def guiceApplicationBuilder(app: Application): Application = {
new GuiceApplicationBuilder()
.overrides(bind[MainProcess].toInstance(mainProcessMock))
.build()
}
如果这不是一个好习惯,那么如何做这些事情来模拟主类的特定模块呢?
谢谢。