def METHOD_NAME(fs: FakeFilesystem, test_backends) -> SparkDBFSDatasource:
    if "SparkDFDataset" not in test_backends:
        pytest.skip("No spark backend selected.")
    # Copy boto modules into fake filesystem (see https://github.com/spulec/moto/issues/1682#issuecomment-645016188)
    for module in [boto3, botocore]:
        module_dir = pathlib.Path(module.__file__).parent
        fs.add_real_directory(module_dir, lazy_read=False)
    # Copy google credentials into fake filesystem if they exist on your filesystem
    google_cred_file = os.getenv("GOOGLE_APPLICATION_CREDENTIALS")
    if google_cred_file:
        fs.add_real_file(google_cred_file)
    base_directory: str = "/dbfs/great_expectations"
    fs.create_dir(base_directory)
    create_files_in_directory(
        directory=base_directory,
        file_name_list=[
            "alex_20200809_1000.csv",
            "eugene_20200809_1500.csv",
            "james_20200811_1009.csv",
            "abe_20200809_1040.csv",
            "will_20200809_1002.csv",
            "james_20200713_1567.csv",
            "eugene_20201129_1900.csv",
            "will_20200810_1001.csv",
            "james_20200810_1003.csv",
            "alex_20200819_1300.csv",
        ],
    )
    return SparkDBFSDatasource(  # type: ignore[call-arg]
        name="spark_dbfs_datasource",
        base_directory=pathlib.Path(base_directory),
    )