DMocks in the long term

Within the next two months (that is, by the Release 2.0 milestone), dmocks should support just about everything you need in a mocks library. There are a few more things to support:

  • Uniform expectation syntax: mocker.Expect(obj.voidMethod)
  • Mocking free functions.
  • Throw an exception if there is no return value, exception to throw, or delegate to execute for a non-void method.

After that, it's really just a matter of testing everything well and getting good documentation. Brief documentation in addition to the examples would be nice. And there's the matter of keeping up with library and compiler changes, which should not require a significant amount of time.

This project in the long term

In the long term, dmocks will be in maintenance mode, not in active development. In case I have too much free time, there are other things I'll start working on. In order from most to least reasonable:

  • An assertions library. Instead of assert (a == b, "my own error message"), it'll be Assert(a, equals(b)), with a readable and salient error message by default.
  • A dependency injection library. Mocks are ugly to use without dependency injection. It should be rather easy to implement an inflexible DI system; a flexible one might require more work.
  • A general-purpose attribute library. It would probably use templated structs for storing metadata on methods and fields, with inheritance being used for classes and interfaces.

These don't fit very well in a project for mock objects, but a mock objects library fits with the whole assembly as a modern application framework.

back to the main page