### Body

Currently `start_date` is mandatory parameter.
For DAGs with `schedule=None` we can relax this requirement as no scheduling calculation needed so the `start_date` parameter isn't used.

### Committer

- [X] I acknowledge that I am a maintainer/committer of the Apache Airflow project.
#
#
#
from __future__ import annotations
import datetime
import itertools
import logging
import os
import pickle
import re
import sys
import weakref
from contextlib import redirect_stdout
from datetime import timedelta
from io import StringIO
from pathlib import Path
from unittest import mock
from unittest.mock import patch
import jinja2
import pendulum
import pytest
import time_machine