I just developed an algorithm and additional to the usual unit tests I wrote a profiling "test" that I was using to measure and optimize its performance. It is structured similar to a test (arrange: setting up a sizable chunk of data to process, act: run the algorithm) but without the assert stage (it doesn't test anything).
Now that the algorithm is sufficiently optimized I'd like to keep the profiling code for future reference but since it takes several seconds to run without actually testing anything I don't want it to run every time I run my unit tests.
Of course I could turn it into a test by asserting the running time is below a certain threshold but that feels artificial.
- Should I turn it into a proper test by asserting a certain running time?
- Should I check it in as is?
- Should I check it in as is but disable it so it won't run automatically?
- Should it be in a separate file/assembly or together with the unit tests?
- Should I do something else?
I hope there are some best practices so this won't be opinion based.