我有一个包含 5 个模块的项目。当我尝试为特定模块运行测试时,出现路径不存在错误,因为测试正在其他模块中寻找资源。
这是我想通过的路径
src/test/resources/data/stg.csv
这是我的项目结构
我如何让它在我需要的模块中测试寻找资源?
编辑
我尝试为模块 ucp...
运行测试,该模块正在引用 agg..
,后者又开始在第三个模块 actuall 中搜索资源。 ..
。有趣的是,一个确实有效(只有 5 个中的一个有效)并且所有路径都以相同的方式传递。
代码
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)
}
最佳答案
问题出在工作目录中。
编辑配置->工作目录->选择模块路径
关于java - 运行测试时在其他模块中搜索资源文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52892012/