Nicklas Israelsson
Optimizely
Mar 7, 2014
visibility 6815
star star star star star
(5 votes)

Introducing EPiCommerce.Integration.Sample

Integration testing a EPiServer Commerce site can be tricky. How would you know how to initialize everything in a way so that your tests behaves similar to how your site behaves?

In an attempt at answering this question for you I’ve created a sample project for integration testing EPiServer Commerce projects. It’s posted on github.com under the MIT-license and you can find it here:

EPiServer Commerce Integration Test Sample

This sample project doesn’t use selenium or any other web driver to test the UI but instead it aims to initialize an EPiServer Commerce site in a test context so that you can test your business logic below your UI layer.

The README for the project should help you get started but I still want to highlight the requirements. EPiServer Commerce requires the Full-Text Search feature to be enabled on your SQL server and you need a version that supports snapshots. The user running the tests also need access to the master database to be able to create databases. I’ve tried isolating most of the database specific code in the Database class so that if you want a different approach on how to reset state between tests you can replace that one class.

Mar 07, 2014

Comments

Petter Klang
Petter Klang Mar 10, 2014 09:41 AM

Sweet!

Mar 10, 2014 06:31 PM

Yes, this is cool!

error Please login to comment.
Latest blogs
Surviving a Dirty Feed. Part 3: Error Handling and Event Batching

Committing a 250,000-row Optimizely catalog import row by row, returning a per-row failure report, and coalescing catalog events into one per batch.

Stanisław Szołkowski | Oct 16, 2026 |

Building UI Extensions for Optimizely SaaS CMS

Introduction Developers have been extending the functionality of Optimizely PaaS CMS for years using addons built in C# and deployed as NuGet...

Mark Stott | Oct 15, 2026

Cheapskate AI Translator: Because Translation Should Not Require a Second Mortgage

There is a particular kind of software project that begins with a detailed architecture document, a product roadmap, and a carefully assembled...

Linh Doan Cuu | Oct 15, 2026

Computed Fields in CMS 13 Content Contracts with Optimizely Graph

Content Contracts in Optimizely CMS 13 allow different content types to share a common structure when querying Optimizely Graph. But what if the...

Mardy | Oct 14, 2026