pub(crate) fn parse_testing_tools_arg(
    args: &Punctuated<FnArg, Comma>,
    toplevel_args: &mut Punctuated<FnArg, Comma>
) -> Option<FnArg>
Expand description

Find and take the TestingTools argument from the arguments of the test function, leaving any others in place by storing in toplevel_args.

Example

Parse the TestingTools { test_client, .. }: TestingTools from the following test.

#[merino_test_macro]
async fn test(TestingTools { test_client, .. }: TestingTools) {
  ...
}

This has the pattern match that defines the bindings the caller is expecting to use, so we have to use it directly.