Make an instance of ColumnTransformer pass the common test

### Describe the bug

Not sure if `check_estimator` is appropriate to use with transformers, but `ColumnTransformer` inherits from `BaseEstimator`, so I'm assuming so.

I have a custom transformer that inherits from `ColumnTransformer`, and I'm trying to use `check_estimator` to make sure I am doing so properly. However, `ColumnTransformer` itself fails on multiple tests; I'm assuming many are because creating a non-trivial `ColumnTransformer` involves specifying required feature names, which seems to go against some of the tests in `check_estimator`.

Is there a different best practice to test a custom subclass of `ColumnTransformer` and/or transformers in general?

### Steps/Code to Reproduce

```python
from sklearn.utils.estimator_checks import parametrize_with_checks
from sklearn.compose import ColumnTransformer
from sklearn.preprocessing import Normalizer

ct = ColumnTransformer(
    [
        ("norm1", Normalizer(norm="l1"), [0, 1]),
        ("norm2", Normalizer(norm="l1"), slice(2, 4)),
    ],
    remainder="passthrough",
)


@parametrize_with_checks([ct])
def test_sklearn_checks(estimator, check):
    check(estimator)
```

### Expected Results

All tests pass.

### Actual Results

[Test Results —.pdf](https://github.com/scikit-learn/scikit-learn/files/13285011/Test.Results.pdf)


### Versions

```shell
System:
    python: 3.11.6 | packaged by conda-forge | (main, Oct  3 2023, 10:37:07) [Clang 15.0.7 ]
executable: /my_env/bin/python
   machine: macOS-13.4-arm64-arm-64bit
Python dependencies:
      sklearn: 1.3.1
          pip: 23.3.1
   setuptools: 68.2.2
        numpy: 1.26.0
        scipy: 1.11.3
       Cython: None
       pandas: 2.1.1
   matplotlib: 3.8.0
       joblib: 1.3.2
threadpoolctl: 3.2.0
Built with OpenMP: True
threadpoolctl info:
       user_api: blas
   internal_api: openblas
    num_threads: 8
         prefix: libopenblas
       filepath: /my_env/lib/libopenblas.0.dylib
        version: 0.3.24
threading_layer: openmp
   architecture: VORTEX
       user_api: openmp
   internal_api: openmp
    num_threads: 8
         prefix: libomp
       filepath: /my_env/lib/libomp.dylib
        version: None
```

COMMENT:
So now `ColumnTransformer` doesn't fail anymore, it simply skips some of the tests:

```py
from sklearn.utils.estimator_checks import check_estimator
from sklearn.compose import ColumnTransformer
from sklearn.preprocessing import Normalizer

ct = ColumnTransformer(
    [
        ("norm1", Normalizer(norm="l1"), [0]),
        ("norm2", Normalizer(norm="l1"), slice(0, 1)),
    ],
    remainder="passthrough",
)

check_estimator(ct)
```

gives: 

```
/path/to/sklearn/utils/estimator_checks.py:621: SkipTestWarning: Skipping check_complex_data for ColumnTransformer: FIXME
  warnings.warn(str(exception), SkipTestWarning)
/path/to/sklearn/utils/estimator_checks.py:621: SkipTestWarning: Skipping check_estimators_empty_data_messages for ColumnTransformer: FIXME
  warnings.warn(str(exception), SkipTestWarning)
/path/to/sklearn/utils/estimator_checks.py:621: SkipTestWarning: Skipping check_estimators_nan_inf for ColumnTransformer: FIXME
  warnings.warn(str(exception), SkipTestWarning)
/path/to/sklearn/utils/estimator_checks.py:621: SkipTestWarning: Skipping check_estimator_sparse_array for ColumnTransformer: FIXME
  warnings.warn(str(exception), SkipTestWarning)
/path/to/sklearn/utils/estimator_checks.py:621: SkipTestWarning: Skipping check_estimator_sparse_matrix for ColumnTransformer: FIXME
  warnings.warn(str(exception), SkipTestWarning)
/path/to/sklearn/utils/estimator_checks.py:621: SkipTestWarning: Skipping check_transformer_data_not_an_array for ColumnTransformer: FIXME
  warnings.warn(str(exception), SkipTestWarning)
/path/to/sklearn/utils/estimator_checks.py:621: SkipTestWarning: Skipping check_fit2d_1feature for ColumnTransformer: FIXME
  warnings.warn(str(exception), SkipTestWarning)
/path/to/sklearn/utils/estimator_checks.py:621: SkipTestWarning: Skipping check_fit1d for ColumnTransformer: FIXME
  warnings.warn(str(exception), SkipTestWarning)
/path/to/sklearn/utils/estimator_checks.py:621: SkipTestWarning: Skipping check_fit2d_predict1d for ColumnTransformer: FIXME
  warnings.warn(str(exception), SkipTestWarning)
```

So I'd say now we can close this issue. We have a lot of other skipped tests in estimators as well. Feel free to submit fixes for individual issues for tests @rjboczar , but I think we can close this issue.

Labels: Enhancement