nunit-console
nunit-console copied to clipboard
Instrumentation of TestAssemblyLoadContext to track usage of each strategy
TestAssemblyLoadContext makes use of a custom resolver, TestAssemblyResolver, to locate assembly references. Internally, the resolver uses a Strategy pattern, under which multiple strategies are tried until the assembly reference is successfully resolved or a failure occurs. Some effort is made to order the sequence in which the strategies are used for efficiency, but no data is available to measure how well this works.
This new feature would instrument TestAssemblyLoadContext and TestAssemblyResolver to collect information allowing us to determine:
- Whether all strategies are actually needed. In the case where a given strategy is not pulling its weight, we might remove it or combine its function with one of the other strategies.
- Whether some new strategy may be needed.
- Whether strategies are being tried in the best order.