We are starting the year with some great product advances.
We have released version 1.1, with many bug fixes and 2 major features:
1. Continuing with our beliefs, now there is no need to change the production code at all!
2. There is a new api to fake out and ref arguments
3. No, we haven’t completed our port to GCC yet
More information here
We have been working hard on fixing bugs and adding integrations to many other tools, keep an eye out for the upcoming release.
We added more rules that handle interaction based testing and boosted the performance, keep an eye out for this release.
We fixed some Server Connectivity issues and boosted the performance on this one too, expect the release soon.
And last but not least
Here is a peek screenshot straight from the oven of our labs:
I am very excited about Isolator++. Roy has written a post on our first encounter with unit testing C++ and the difficulties we found many years ago. There are many issues in C++ that render ‘testable design’ to be ‘bad design’, for example calling virtual methods constructors in a big no no in C++, but testable design means having those methods virtual methods. So trying to convince developers to make their code testable has led to a lot of resistance.
But our dream of unit testing C++ is coming true with Isolator++, and you are invited to hear Roy Osherove talk about Unit testing C++.
Mark the date: Thursday, October 21st, 2010
More information here (we are giving out free Isolator++ licenses!)
Simple, we created a great compelling product!
We have doubled our visitors and downloads since releasing Isolator++! This is really exciting. It is great to welcome C++ developers to the unit testing world and to make it easy to unit test too.
We have carefully crafted Isolator++ for C++ developers with all our knowledge from the .NET world, on how to help us developers focus on creating productive code and automate all of the plumbing and wiring. This makes writing unit tests easy and thus help us become software craftsmen.
Some of our community tweets, thanks.
@MrClyfar: For C++ devs, this could be HUGE! http://www.elilopian.com/2010/10/06/new-unit-testing-c-with-typemock/
For the launch you can win FREE licenses if you are fast enough.
With the release of Isolator Version 5.3, we have added the ability to simulate external components based on the arguments passed to those components. We called this Conditional Behavior.
Our default is to ignore arguments, to fake a method without taking the arguments into consideration, neither the number of arguments (overloads) or the values of those arguments (conditional behavior).
There is a reason for this.
Lets see the values with which we create our API’s, taken from Roy’s post
- Single point of entry
- Single way to achieve things
- Backwards compatibility
The value that I want to discuss is Explicitness: we decided early on to be as explicit as possible about the API, so that the least guessing needs to take place by the user
So how do we decide on our defaults?
We fight about them, we find out what will need the least guessing, but keep the tests short (Readable)?
We talk about what most users mean, what most users expect.
We talk about failing fast when writing the code and we talk about Brittle vs Fragile when running the code.
We argue about what default usage will break if the user changes (refactors) the production code, without changing its logic. We want those tests to succeed.
This is ultimately why we ignore the arguments, so that changing a value passed to a method or using an overloaded method instead, will not fail the test.
Those cases where the difference is required, are discoverable while writing the test. The test will fail fast, if an overloaded method needs a different behavior, or if the method acts differently based on its arguments, and that will allow the writer to add the conditional behavior.
Get a free Typemock Isolator license:
[Update: Contest is finished, Thanks to all you bloggers]
We’re announcing today about a new product: Isolator for SharePoint. It is almost the same as Typemock Isolator, but will only work on APIs that are directly connected with sharepoint’s API. That means that if you only need to test sharepoint stuff, you can get a powerful product, for a much cheaper price than the full Isolator (you can always upgrade later if you need to isolate more APIs).
With this release, we want to gather the power of crowds, by offering you an incentive for blogging about this news: Get A free Typemock Isolator license (the full one) just because you have a blog. Here’s the official word:
Are you a blogger, webmaster, or Internet columnist? Get a Free Typemock Isolator License (Personal Edition) by helping us launch our new product, Isolator For SharePoint, the only tool that can unit test SharePoint applications without a SharePoint server – see the Microsoft Guidance.
Go ahead, post about it now and your Free License will be on its way!
So how do I get the Free License?
Just make a post on your blog or site about the latest Typemock product, that includes the following text:
Typemock are offering their new product for unit testing SharePoint called Isolator for SharePoint, for a special introduction price. it is the only tool that allows you to unit test SharePoint without a SharePoint server. To learn more click here.
The first 50 bloggers who blog this text in their blog and tell us about it, will get a Full Isolator license, Free. for rules and info click here.
Then please send an email to email@example.com including your name and the post URL, and your Free License will be on its way!
Hurry up – this offer is limited to the first 50 bloggers.
A few simple requirements:
(1) You must own a website, blog space or internet column, older than 2 months, or get permission from the owner of such a site.
(2) Your post must include the text above (including the links).
We have been working very hard this summer and we are just ready for 2 major releases.
Based on customer feedback we are going to change our pricing model and add 3 new packages
- Special Bundle, containing:
- Annual Update Subscription
- Ivonna for ASP.NET testing
- TestDriven.NET for seamless Visual Studio testing
- Personnel License, for single developers will cost only $199
- Open Source License, for Open Source projects will be free
We have also added a new API for better structured isolation (Mock, Stub, Fake…).
- No need to understand the difference between Mock, Stub, Fake, Double they all use the same API.
- Easier to automate isolation by recursively faking all chained (sub) calls so:
ClassToIsolate faked = Isolate.Fake.Instance<ClassToIsolate>(Member.ReturnFakesRecursivly); // now all sub calls will be faked, so this will not fail faked.GetSomething().Parent.GetDetail().DoSomething(); // can setup return values via Isolate.WhenCalled( ()=> faked.GetSomething().Parent.GetDetail().Name) .WillReturn("Cool");
- Better structure of interaction validation. No recording stage and validation done at the end of the test (aka, AAA- Arrange,Act,Assert)
// A. arrange ClassToIsolate faked = Isolate.Fake.Instance<ClassToIsolate>(Member.ReturnFakesRecursivly); // A. act ClassUnderTest.MethodUnderTest(faked); // A. assert Isolate.VerifyWasCalledWithAnyargument( ()=> faked.GetSomething().Parent.GetDetail().DoSomething());
Our newest product helps solve a huge problem for multi-thread/multi-core software development, by automatically finding and pinpointing deadlocks. To use the racer simply call a multi-threaded code via the API and the Racer will start running and re-running the code in different permutations to find the deadlocks. Once a deadlock is found, you can debug the code straight to the problematic permutation!
The Racer uses both Dynamic code analysis and Static code analysis to perform its magic.
Of course both the tool play well together and you can validate multi-threaded code in an isolated component.
Typemock Isolator 4.2.4 is available for download.
This is a patch release with many bug fixes.
- “Invalid Operation Exception” when working with NHybernate and XML serialization was fixed.
- Complex LINQ queries are now mocked correctly.
- Manual assembly loading does not cause an exception. AssemblyResolve event fires correctly.
- RepeatAlways now works correctly following WhenArgumentsMatch.
- Returning values of types that inherit from generic type now work correctly.
- GetMocks return the correct mocks for abstract classes and interfaces.
- Following undeploy Typemock Isolator remains registered.
- Methods up to 30 parameters can now be mocked.
Get the juicy development information here
Ivonna is built on top of the Typemock Isolator framework and facilitates running unit tests in the same process as any other unit test, on the client machine, as well as having a specialized API
To start using, see the Getting Started page on the cool site that Artem built. Artem is kind enough to add a forum for feedback – Please use it.
I am sure that there are other packages that can be built for other component to help simplify unit testing, feel free to contact us and we will help you develop these packages
- Product Status Peek – 2011
- Thanks Roy
- Typemock starts 2011 in a new location
- Agile Demos Smells
- I want loud disputes in our meetings
- .NET Tests
- Code Integrity
- Management for Geeks
- Time Management
- Unit Tests
- January 2011
- December 2010
- October 2010
- August 2010
- May 2010
- April 2010
- March 2010
- February 2010
- December 2009
- October 2009
- September 2009
- August 2009
- July 2009
- June 2009
- May 2009
- April 2009
- March 2009
- February 2009
- December 2008
- November 2008
- August 2008
- July 2008
- May 2008
- April 2008
- February 2008
- January 2008
- December 2007
- November 2007
- October 2007
- September 2007
- August 2007
- July 2007
- June 2007
- May 2007
- April 2007
- March 2007
- February 2007
- January 2007
- December 2006
- November 2006
- October 2006
- September 2006