code: def test_build_clean(self, mock_build, mock_load_config):
      result = self.runner.invoke(
          cli.cli, ["build", "--clean"], catch_exceptions=False
      )
  
      self.assertEqual(result.exit_code, 0)
      self.assertEqual(mock_build.call_count, 1)
      args, kwargs = mock_build.call_args
      self.assertTrue("dirty" in kwargs)
      self.assertFalse(kwargs["dirty"])
  
imports: import io
  import logging
  import unittest
  from unittest import mock
  from click.testing import CliRunner
  from mkdocs import __main__
label_desc: Use image node_id 14 for calling the CLITests obj's underlying member method code with example usage: obj.test_build_clean(mock_build, mock_load_config) without return types