These are chat archives for Microsoft/CodeContracts

20th
Jul 2015
Sam Harwell
@sharwell
Jul 20 2015 02:48
@SergeyTeplyakov @tom-englert I'd like your feedback regarding #158. Do we want to go down that path or not?
It automatically breaks up the 19 current "macro tests" into 3325 "micro tests" that can be run individually (or in whatever grouping you want)
Sergey Teplyakov
@SergeyTeplyakov
Jul 20 2015 03:20
I'm a big fan of proper parametrized unit tests. So :clap: from me! That would be awesome to have this stuff!
Micah Zoltu
@MicahZoltu
Jul 20 2015 03:57
@sharwell I have used xunit v2 parallelization, it is definitely handy for getting long test runtimes down (not sure if this is a problem for you). We had some integration tests that would take ~35 minutes to run because each test would take 30-120 seconds to run but most of the time was spent waiting for external resources. We converted them to xUnit v2 and got runtime down to ~3.5 minutes with the CPU pegged the whole time.
Sergey Teplyakov
@SergeyTeplyakov
Jul 20 2015 04:52
@Zoltu Long tests are actually a problem in this project, but I think most of them are CPU intensive, so I'm not sure that we would be able gain any benefits from parallelization, but an ability to run only specific test case is very useful.
Micah Zoltu
@MicahZoltu
Jul 20 2015 17:01
@SergeyTeplyakov The gains from CPU intensive tests are definitely limited. However, I have found that often times tests will only burn CPU on one thread in which case you can often get performance gains by running a number of tests equal to your core count. I believe xUnit does this by default (one parallelized test per core).
That all being said, I'm definitely a huge fan of being able to run one-off tests. It makes debugging and iterating on them so much easier.
Sam Harwell
@sharwell
Jul 20 2015 17:02
CPU tests are stuck on 1 thread for me. I have 28 cores.
it makes me sad
(14 cores + hyper threading)
Sergey Teplyakov
@SergeyTeplyakov
Jul 20 2015 19:29

That all being said, I'm definitely a huge fan of being able to run one-off tests. It makes debugging and iterating on them so much easier.

@Zoltu Totally agree!