问题描述
我想知道为什么这段代码会显示一个错误,说它需要一个 ChainBuilder 但找到了 B,而 B 究竟是什么。我有几个月的时间想知道这个问题,因为我的代码仍然可以用它编译,但如果可能的话,我很想删除这个错误。
即使我最简化它但保留 exitBlockOnFail 部分,它仍然会给我红色警告,所以我想知道他们两者之间的联系是什么。
// Error
object StudentDashboardBranches {
def studentDashboard: ChainBuilder = exitBlockOnFail(
exec {
session =>
println(session("session").as[String])
session
}
)
}
// No error
object StudentDashboardBranches {
def studentDashboard: ChainBuilder = (
exec {
session =>
println(session("session").as[String])
session
}
)
}
也许是另一个问题,或者可能与同一问题有关,不确定,但是无法识别暂停后附加的 exec 方法,但是,如果我像第一个那样删除 exitBlockOnFail 部分,则不会出现此错误.
PS:这些是我的进口
import io.gatling.core.Predef.{exec,_}
import io.gatling.core.structure.ChainBuilder
非常感谢任何帮助或澄清。 非常感谢。
更新
根据 Stephane 的回答,我们遗漏了其中一个导入。
import io.gatling.core.Predef._ // required for gatling core structure DSL
现在可以使用了。
解决方法
您是否破坏了 DSL 导入?如果是,请检查 doc。