Typemock Isolator 5.3.1 can fake DateTime.Now

I just downloaded and installed Isolator 5.3.1 which has the ability to fake DateTime.Now, probably one of those functions in .NET you’ve always wanted to isolate correctly in tests. And now you can. For quick reference, check the Typemock Insider blog.

This can however be a breaking change in your unit tests. For example, we had the following test to verify of a DateTime was put into a property.

Isolate.Verify.WasCalledWithAnyArguments(() => someObject.ProcessDate = DateTime.Now);

With version 5.3.1 the test failed with the following error message.

TypeMock Verification: Method MyNameSpace.SomeClass.ProcessDate was called with mismatching arguments.

I fixed this by setting the following behavior on DateTime.Now.

// Arrange
var testDate = new DateTime(2000, 1, 1);
Isolate.WhenCalled(() => DateTime.Now).WillReturn(testDate);

// Act
// Some code here

// Assert
Isolate.Verify.WasCalledWithAnyArguments(() => someObject.ProcessDate = testDate);

You may also like...

Click on a tab to select how you'd like to leave your comment

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.