Category Archives: programming

AutoFixture > Using [Frozen] attribute on test method parameter

[Frozen] attribute is used to freeze instances of objects. It is applied on test method parameters. We will consider simple examples with string comparison test. Without [Frozen] attribute Result: Failed Using [Frozen] attribute Applying [Frozen] on the first parameter of type … Continue reading

Posted in Unit test | Tagged , | Leave a comment

AutoFixture > Customize objects creation with ICustomization interface

In this post we will look at AutoFixture basic customization features starting with ICustomization interface. We will use following DateRange class as demonstration example. If we write test method using DateRange as parameter: Test will sometimes fail with “System.ArgumentExceptionFinish date … Continue reading

Posted in programming, Unit test | Tagged , | Leave a comment

Using discriminated unions to fix Liskov substitution principle violation

As an example of LSP violation, I will consider e-commerce payment system design. One needs to develop generic mechanism for multiple payment service providers (PSP) that are using on checkout step. From the requirements there are different kinds of PSP in terms of integration. … Continue reading

Posted in object-oriented-principles, software-patterns | Leave a comment

Tools and libraries to consider when writing autotests

Below is a summary of tools/libraries I have used to build maintainable suite of auto tests on large ecom project. While it is hard to start without test framework :), some autaaof the libraries listed below could be easily omitted … Continue reading

Posted in Unit test | Tagged | Leave a comment