вам нужен способ внедрить фиктивный файл или функцию, которая читает файл,
Пример API, который принимает функцию,
import java.util.Base64
object Api {
def getActionAsBase64(fileBytesFn: (String, String, String) => Array[Byte],
appName: String,
taskType: String,
taskName: String): String = {
val encoded = new String(Base64.getEncoder
.encode(fileBytesFn(appName, taskName, taskName)))
.replace("\n", "")
.replace("\r", "")
encoded
}
}
Таким образом, вы можете пройти тестfunc, который читает файл,
test("test a function") {
val mock = (_: String, _: String, _: String) => "prayagupd".getBytes()
val d = Api.getActionAsBase64(mock, "any app name", "taskName", "taskName")
assert(d == "cHJheWFndXBk")
}
Альтернативным способом может быть передача в заглушки func ,
test("test a function II") {
val stbbedFn = stubFunction[String, String, String, Array[Byte]]
stbbedFn.when("any appName", "any taskType", "any taskName").returns("prayagupd".getBytes())
val d = Api.getActionAsBase64(stbbedFn, "any appName", "any taskType", "any taskName")
assert(d == "cHJheWFndXBk")
}