Testing Projects in Development Stage

It is easy to develop an abstraction over EventStore in order to work with Write side/domain in development phase. For tests just a FakeEventStore is needed and it is quite easy to have an InMemoryEventStore that could even start a complete working system.

But projections are another thing. How would you facilitate testing and working in development phase? Do you make only integration tests?

Is there any option low-cost that can have an “in-memory” abstraction that could allow for having a complete “development” working system without starting EventStore?


This is an good question. We have looked at allowing an in memory host of projections. Ideally would you prefer it to connect to an arbitrary in memory store or if we provided one would that be enough?

Today, if you provide one, we will be extremely happy :-).

Someday, and that day may never come, we might be worried about hard infrastructure dependencies. Anyway the code is there…

Now what I want to solve in the minimum time is a satisfactory development setup where i can test individual components and also integrations in an easy manner. (Write side, projections, and event publications from event store). And focus on domain.

Should I a open an issue in the github project? Do you consider this as a short-medium-long term feature?

We’ve found it to be the first thing we really need in order to have proper “production” development.

Sorry for delay was travelling off in london this week. It really depends on how you want to test. As of now they are just written in JavaScript, they can be hosted in any js unit testing framework (for unit tests). THe js functions take state and event and mutate state for links it would be mocking out thee link-to method and emit method. It should be pretty easy to unit test those. For js options there is a good discussion here http://stackoverflow.com/questions/300855/looking-for-a-better-javascript-unit-test-tool

I was more thinking about the integration test scenario where you want to host us hosting projections in memory. This can be done pretty easily but requires firing up the full vnode in memory. It’s possible to separate this and allow hooks for testing from c#.

Can you be a bit more specific which of these two scenarios you are interested in and what language you would like to write your unit tests in?


We are using mocha (http://visionmedia.github.com/mocha/) for javascript testing. We will try to mock link-to and emit for unit testing.

The scenario we are interested is the second one: integration tests with projections in memory, and testing with C#.

Any update for “in memory host of projections”?