def METHOD_NAME(self):
    # Make a fake ParserPlugIn
    mock_parser = mock.Mock(spec=ParserPlugIn)
    # Give it a plugin_name, name and summary
    mock_parser.plugin_name = "foo"
    mock_parser.name = "foo"
    mock_parser.summary = "summary of foo"
    # With temporary override to use the fake parser
    with all_parsers.fake_plugins([mock_parser]):
        # Set the name of the expected parser to '?'
        self.ns.parser_name = '?'
        # With IO capture helper
        with TestIO() as io:
            # And invoke the ParseCommand
            retval = ParseCommand().invoked(self.ns)
    # Ensure that a list of parsers was printed
    self.assertEqual(
        io.stdout, cleandoc(
            """
            The following parsers are available:
              foo: summary of foo
            """) + '\n')
    # Ensure that the return code was 0
    self.assertEqual(retval, 0)