code: def testtestImportFuncFromModuleReload(self):
      temp_dir = self.create_tempdir().full_path
      test_fn_file = os.path.join(temp_dir, "fn.py")
      with tf.io.gfile.GFile(test_fn_file, mode="w") as f:
          f.write(
              """def test_fn(inputs):
              return sum(inputs)
            """
          )
      count_registered = (
          import_utils._tfx_module_finder.count_registered
      )
      fn_1 = import_utils.import_func_from_source(
          test_fn_file, "test_fn"
      )
      self.assertEqual(10, fn_1([1, 2, 3, 4]))
      with tf.io.gfile.GFile(test_fn_file, mode="w") as f:
          f.write(
              """def test_fn(inputs):
              return 1+sum(inputs)
            """
          )
      fn_2 = import_utils.import_func_from_source(
          test_fn_file, "test_fn"
      )
      self.assertEqual(11, fn_2([1, 2, 3, 4]))
      fn_3 = getattr(
          importlib.reload(
              sys.modules["user_module_%d" % count_registered]
          ),
          "test_fn",
      )
      self.assertEqual(11, fn_3([1, 2, 3, 4]))
  
file_path: tfx/tfx/utils/import_utils_test.py
imports: import importlib
  import os
  import sys
  import tensorflow
  from tfx.utils import import_utils
  from tfx.utils.testdata import test_fn
label_desc: Use image node_id 8 for calling the ImportUtilsTest obj's underlying member method code with example usage: obj.testtestImportFuncFromModuleReload() without return types