code: def test_from_recipe_config_fails_without_target_col(
      tmp_path, monkeypatch
  ):
      monkeypatch.setenv(
          MLFLOW_RECIPES_EXECUTION_DIRECTORY.name, str(tmp_path)
      )
      with mock.patch(
          "mlflow.recipes.step.get_recipe_name",
          return_value="fake_name",
      ):
          split_step = SplitStep.from_recipe_config({}, "fake_root")
          with pytest.raises(
              MlflowException, match="Missing target_col config"
          ):
              split_step._validate_and_apply_step_config()
  
imports: from pathlib import Path
  from unittest import mock
  from unittest.mock import Mock
  import numpy
  import pandas
  import pytest
  import mlflow
  from mlflow.environment_variables import MLFLOW_RECIPES_EXECUTION_DIRECTORY
  from mlflow.exceptions import MlflowException
  from mlflow.recipes.steps.split import _OUTPUT_TEST_FILE_NAME, _OUTPUT_TRAIN_FILE_NAME, _OUTPUT_VALIDATION_FILE_NAME, SplitStep, SplitValues, _get_split_df, _hash_pandas_dataframe, _make_elem_hashable, _validate_user_code_output
  from mlflow.recipes.utils import _RECIPE_CONFIG_FILE_NAME
  from mlflow.utils.file_utils import read_yaml
label_desc: Use image node_id 7 for calling a global function with example usage: test_from_recipe_config_fails_without_target_col(tmp_path, monkeypatch) without return types