我有一个包含5个模块的项目。当我尝试为特定模块运行测试时,由于测试正在寻找其他模块中的资源,因此我得到路径不存在错误。
这是我要尝试的路径
src/test/resources/data/stg.csv
这是我的项目结构
如何做到这一点,以便在所需模块中测试所需资源?
编辑
我尝试对模块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)
}
答案 0 :(得分:1)
问题在工作目录中。
编辑配置->工作目录->选择模块路径