Tools for better thinking.. Found this site https://untools.co/ and this it looks promising.
Collection of thinking tools and frameworks to help you solve problems, make decisions and understand systems.---
Tools for better thinking.. Found this site https://untools.co/ and this it looks promising.
Collection of thinking tools and frameworks to help you solve problems, make decisions and understand systems.---
Some things are just funny and some things just hit to close to home.
-In computing, the mean time to failure keeps getting shorter.
“There is no end to education. It is not that you read a book, pass an examination, and finish with education. The whole of life, from the moment you are born to the moment you die, is a process of learning.” – Jiddu Krishnamurti
Use NCover or dotCover you might say. And you would be right.
But for the current project I was looking for a free solution. I started to google the web for a free alternative and found PartCover, OpenCover and this article.
PartCover and OpenCover does noe have any GUI or plugin in Visual Studio, so when I saw that it was possible to use the same window in VS as MSTest I was sold.
Run the following command in the visual studio prompt. (Add the correct paths and dlls for your system)
vsinstr -coverage MyLibrary.dll start vsperfmon -coverage -output:mytestrun.coverage nunit-console.exe /noshadow UnitTests.dll vsperfcmd -shutdownWhats happening here is that we are first adding instrumentation to the dll. Then we are starting the vsperfmon service to listen to whats beeing executed. Execute the test runner and shutdown the vsperfmon service.
The Test coverage is displayed with the information.
I guess the only catch is that you need Team System Tools for this to work.
Off course you need to manually set this up. Hmm maybe I should write a Visual Studio plugin..
public void SomeMethod(int arg1, int arg2) { // This line will throw an exception when the arg1 is less or equal to arg2 Guard.That(() => arg1).IsGreaterThan(arg2); // This will check that arg1 is not null and that is in some range 1..100 Guard.That(arg2).IsNotNull().IsInRange(1,100); // Several checks can be added. Guard.That(arg1) .IsInRange(100,1000) .IsEven() .IsTrue(x => x > 50, "Must be over 500"); // Do stuff }
public void OtherMethod(int arg1) { // Get a list of errors List<string> errors = Validate.That(() => arg1).IsNotNull().GetResult(); }---