Silvenga;10804 wrote:
We were wondering, depending on how NCrunch's discovery system works, if it would be possible to detect when test signatures change when no IL differences are detected. This would be infinitely more prefered to us developers, IMHO, then a warning when a library is used.
Unfortunately there isn't a reliable way to do this, because when user code is used to create tests, anything can happen. For example, tests may be generated from an external resource (like a resource file or database), so it's possible for the list of tests to be different without any IL changes detected.
This is, also, completely under the power of the test framework itself. Proper integration with a test framework involves treating it as a service. The framework is interrogated for the list of tests to execute after an assembly is compiled. To try and assume which tests are in an assembly without asking the framework would be to step around this entirely, effectively re-implementing the framework and removing all forwards compatibility with future versions of it. It's a massive problem when you ask a framework for a list of tests that is different every time you ask for them even when no changes are made. If you have tests that change their shape every time they're discovered because of user code, there is nothing in NCrunch or the discovery system that can give you a consistent result.