code: def setUp(self):
      super().setUp()
      self._text = "text"
      self._input_value_placeholder = (
          placeholders.InputValuePlaceholder("input_artifact")
      )
      self._another_input_value_placeholder = (
          placeholders.InputValuePlaceholder("input_parameter")
      )
      self._input_uri_placeholder = placeholders.InputUriPlaceholder(
          "input_artifact"
      )
      self._output_uri_placeholder = placeholders.OutputUriPlaceholder(
          "output_artifact"
      )
      self._concat_placeholder = placeholders.ConcatPlaceholder(
          [
              self._text,
              self._input_value_placeholder,
              self._input_uri_placeholder,
              self._output_uri_placeholder,
          ]
      )
      self._text_concat_placeholder = placeholders.ConcatPlaceholder(
          [
              self._text,
              "text1",
              placeholders.ConcatPlaceholder(["text2"]),
          ]
      )
  
file_path: tfx/tfx/dsl/component/experimental/executor_specs_test.py
imports: import tensorflow
  from tfx import types
  from tfx.dsl.component.experimental import executor_specs
  from tfx.dsl.component.experimental import placeholders
  from tfx.types import channel
  from tfx.types import component_spec
  from tfx.types import standard_artifacts
label_desc: Use image node_id 1 for calling the ExecutorSpecsTest obj's underlying member method code with example usage: obj.setUp() without return types