Its been almost six months since we first announced Alive and weve been working hard building out features and fixing bugs. Today were excited to announce Alive v1.0 and with this release were finally able to offer a free 30 day trial. You can download Alive from the Visual Studio Gallery and start the trial from within Visual Studio.
To celebrate, I thought itd be fun to take a look at how far weve come and how we got here.
It turns out just running the users tests is a challenge in itself. Our initial implementation was naive and simply looked for methods with
[Fact] attributes. It didnt respect the semantics of each test framework and was there only to offer a proof of concept. In v1.0 weve completely overhauled our test runners to respect properties like
[TestCleanup] in NUnit and
IClassFixture<T> in xUnit.
Alive originally bulk ran test cases from within the
devenv.exe process. Suffice it to say this was not a good design choice. When you kick off a ten minute test run thats allocating objects, youre going to get quite a few visits from the garbage collector which happily freezes all the threads within
Which leads to this:![image](http://i.imgur.com/3lcRlkF.png)
Which leads to this:![image](http://i.imgur.com/wRtn5wy.gif)
Weve since made the filtering of test cases optional and moved our bulk test runner out of process where it cant directly interfere with Visual Studio.
You can run a method and then jump to called methods and use Alive on them, while still kicking off execution from the original method.
You can now run test methods directly, making it easy to start new sessions of Alive quickly.
Weve still got a lot a lot of work ahead of us and were not slowing down. Performance isnt where we need it to be when working with large projects like Roslyn and a number of known bugs remain unsquashed. Were planning to bring support to DNX projects in the next couple months. As ASP.NET vNext and DNX stabilize, they should become easier targets for us to hit.
Want more information on Alive? Check out our site at http://comealive.io.