Isolator 7.4.1 Released – with TFS 2012 Integration

Isolator 7.4.1 Released – with TFS 2012 Integration

There’s nothing cooler in the middle of the summer than a new Isolator release. So here’s what we got for you this time:

Microsoft Team Foundation Service 2012 integration is finally here! With a new template, and a set of activities to use as-is, or edit your existing build template, you can now run Isolator tests in an automated build in TFS 2012.

Talking about integration, we’ve got a new feature called “plug-and-play profiling”. Isolator was always been the most integrative tool out there, working with all kinds of profilers, from coverage to performance. Now it’s even easier to use (and less error prone) than before. No more manual setting through the GUI or additional flags Isolator should know in advance. Just turn on the profiler in VS, or use the correct tool to run in the server and Isolator will know what to do, and play well seamlessly with its profiler friends, as it has always done.

On the mocking front, we’ve improved some capabilities. Now you can fake DateTime.Today in your tests (a repeated request from customers). And the following change shows how we always try to improve test readability: The private IgnoreCall can now be used on non-void methods.

Suppose you have the following code:

public bool IsExpired(Card card)
{
    var result = ValidateCardData(card);

    return DateTime.Today > card.ExpirationDate;
}

 

The ValidateCardData private method returns a ValidationInfo object, filled with all kind of stuff. Stuff that you don’t need for testing the expiration logic. Before 7.4.1, you had to use the following line to fake the call to ValidateCardData:

Isolate.NonPublic.WhenCalled(checker, "ValidateCardData")
                 .ReturnRecursiveFake<ValidationInfo>();

 

While this works, it draws away from the actual meaning of “I want ignore this, I don’t care about the return object”. So now you can write this test:

[TestMethod]
public void IsExpired_FutureDate_True()
{
    ExpirationChecker checker = new ExpirationChecker();
    Card card = new Card() { ExpirationDate = new DateTime(2020, 1, 1) };

    // Support for DateTime.Today !
    Isolate.WhenCalled(() => DateTime.Today).WillReturn(new DateTime(2030, 1, 1));

    // Ignore the call
    Isolate.NonPublic.WhenCalled(checker, "ValidateCardData").IgnoreCall();

    Assert.IsTrue(checker.IsExpired(card));
}

 

A bit clearer, don’t you think? And see how I got the DateTime.Today example too?

Apart from all this, we’ve got also lots of UI enhancements in the Smart-runner, highlights on important data and the shields got a few bug fixes too.

Download the new Isolator now!

TOP