运行测试时在其他模块中搜索资源文件

时间:2018-10-19 12:05:30

标签: java scala testing module

我有一个包含5个模块的项目。当我尝试为特定模块运行测试时,由于测试正在寻找其他模块中的资源,因此我得到路径不存在错误。

这是我要尝试的路径

src/test/resources/data/stg.csv

这是我的项目结构

enter image description here

如何做到这一点,以便在所需模块中测试所需资源?

编辑

我尝试对模块ucp...引用agg..进行测试,这反过来又开始在第三个模块actuall...中搜索资源。足够有趣的是,其中一个可以实际工作(只有五个可以工作),并且所有路径都以相同的方式传递。

代码

  override def beforeAll(): Unit = {
    super.beforeAll()
    parameters = Parameters(TestUtils.args)

    loadTestTables(spark, parameters)
  }

  def loadTestTables(implicit spark: SparkSession, parameters: Parameters): Unit = {
    createTable(path, Table.schema, parameters.TABLE_STG_FAIR_DEBT)

  }

  def createTable(path: String, scheme: StructType, tableName: String, delimiter: String = "\t")(implicit spark: SparkSession): Unit = {
    spark.read.schema(scheme)
      .format("com.databricks.spark.csv")
      .option("delimiter", delimiter)
      .option("nullValue", "")
      .load(path)
      .createOrReplaceTempView(tableName)
  }

1 个答案:

答案 0 :(得分:1)

问题在工作目录中。

编辑配置->工作目录->选择模块路径