code: def test_cbpu002_multi_output_no_update(dash_duo):
      app = Dash(__name__)
  
      app.layout = html.Div(
          [
              html.Button("B", "btn"),
              html.P("initial1", "n1"),
              html.P("initial2", "n2"),
              html.P("initial3", "n3"),
          ]
      )
  
      @app.callback(
          [
              Output("n1", "children"),
              Output("n2", "children"),
              Output("n3", "children"),
          ],
          [Input("btn", "n_clicks")],
      )
      def show_clicks(n):
          # partial or complete cancellation of updates via no_update
          return [
              no_update if n and n > 4 else n,
              no_update if n and n > 2 else n,
              # make a new instance, to mock up caching and restoring no_update
              copy(no_update),
          ]
  
      dash_duo.start_server(app)
  
      dash_duo.multiple_click("#btn", 10, 0.2)
  
      dash_duo.wait_for_text_to_equal("#n1", "4")
      dash_duo.wait_for_text_to_equal("#n2", "2")
      dash_duo.wait_for_text_to_equal("#n3", "initial3")
  
file_path: dash/tests/integration/callbacks/test_prevent_update.py
imports: from multiprocessing import Value
  from copy import copy
  from selenium.webdriver.common.keys import Keys
  from dash import Dash, no_update, Input, Output, State, html, dcc
  from dash.exceptions import PreventUpdate
  from dash.testing.wait import until
label_desc: Use image node_id 2 for calling a global function with example usage: test_cbpu002_multi_output_no_update(dash_duo) and returns: list