使用 Gatling 解决同一包中不同目录中文件导入的最佳方法
Best way to solve imports of file in same package but in different directory with Gatling
我想清理我的代码结构并将class/object个文件放在我的加特林项目的另一个目录中。
如果我将所有模拟 class 和实用程序 class 放在同一个目录和同一个包中,我不需要 import 语句并且一切正常。
假设我的结构如下:
/user-files
----/simulations
--------MySimulation.scala
----/utils
--------Router.scala
我已经尝试了几种导入或命名配置,以便能够在我的模拟中使用路由器。
- 按照目录结构命名包
- 将模拟和实用程序 class 放在同一个包中
我也尝试过不同的导入方式
//using package
import packagename.Router
//another try
import packagename.Router._
//without package name
import Router._
我尝试在 scala 文档或堆栈溢出上搜索解决方案对我没有帮助。
这是执行后报错gatling.bat
not found: value Router
您不能这样做:只有一个源文件夹,默认情况下为 /user-files/simulations
。
如果你想使用folders/packages(这是件好事),你可以有这样的结构:
/user-files
----/simulations
--------MySimulation.scala
--------/utils
------------Router.scala
然后,在 Scala 中,包和文件夹层次结构不相关,但最好使用与 Java 中相同的约定。
所以,你会:
package utils
object Router
然后在 MySimulation 中:
import utils.Router
我想清理我的代码结构并将class/object个文件放在我的加特林项目的另一个目录中。
如果我将所有模拟 class 和实用程序 class 放在同一个目录和同一个包中,我不需要 import 语句并且一切正常。
假设我的结构如下:
/user-files
----/simulations
--------MySimulation.scala
----/utils
--------Router.scala
我已经尝试了几种导入或命名配置,以便能够在我的模拟中使用路由器。
- 按照目录结构命名包
- 将模拟和实用程序 class 放在同一个包中
我也尝试过不同的导入方式
//using package
import packagename.Router
//another try
import packagename.Router._
//without package name
import Router._
我尝试在 scala 文档或堆栈溢出上搜索解决方案对我没有帮助。
这是执行后报错gatling.bat
not found: value Router
您不能这样做:只有一个源文件夹,默认情况下为 /user-files/simulations
。
如果你想使用folders/packages(这是件好事),你可以有这样的结构:
/user-files
----/simulations
--------MySimulation.scala
--------/utils
------------Router.scala
然后,在 Scala 中,包和文件夹层次结构不相关,但最好使用与 Java 中相同的约定。
所以,你会:
package utils
object Router
然后在 MySimulation 中:
import utils.Router