• Testing & ALM

    Resolving Compatibility Issue Between JustCode and MSpec

    January 14, 2011 Share
    [Cross posted from www.skimedic.com/blog] Telerik’s JustCode natively supports several test runners, including MSpec. This is great - the JustCode product team has taken on the responsibility to make sure the test runner works with the test frameworks, letting the framework developers focus on building even more awesome frameworks! Occasionally, this can cause an issue, though, as we just discovered here at CodeMash. The latest rev of MSpec introduced breaking changes in the JustCode test runner. While the team is hard at work updating the test runner to be compatible with the latest api, the work around is very simple. Simply change the Copy...
  • Testing & ALM

    Mocking Exceptions and Events with JustMock Free Edition

    December 28, 2010 Share
    [Cross Posted from http://www.skimedic.com/blog] Mocking Exceptions When writing unit tests, it is important to cover not only the successful execution path (commonly referred to as the “Happy” path), but also test the code that gets executed when things don’t go right (commonly referred to as the “Unhappy” path).  Testing for situations where services or databases are unavailable as well as erroneous user input are important aspects of ensuring quality in software.  Remember, if you don’t test it, your users will! We modify the LoginUser method to throw a custom exception when there is an exception is thrown from the LoginService.  To test this,...
  • Testing & ALM

    Sequential and Recursive Mocking with JustMock Free Edition

    December 25, 2010 Share
    [Cross Posted from http://www.skimedic.com/blog] Sequential Mocking One of the trickiest types of code to mock out for testing is recursive methods.  In a typical recursion, the same method is called multiple times, and each time there are typically different parameters passed in, and different return values.  To easily handle this, JustMock gives you two options: Adding InSequence() to each arrange Chaining Returns() calls together. To illustrate the first option, look at the following test: [Test] public void Show_Sequential_InSequence_Arrange_Option() { var service = Mock.Create<IService>(); Mock.Arrange(() => service.GetSum(Arg.AnyInt, Arg.AnyInt)) .Returns(4).InSequence(); Mock.Arrange(()...