Boost logo

Boost Users :

Subject: Re: [Boost-users] Mocking with boost.test
From: Martin Beseda (martinbeseda_at_[hidden])
Date: 2018-12-09 14:13:55


Hi everybody,

I must admit, that I've been dealing with the same problem of choosing
an appropriate mocking framework few months ago (I've settled with
Turtle for now). It would be incredibly helpful to have this
functionality in included in Boost,

whether in Boost::test or in some now framework, e.g. Boost::mock.

Maybe, it could be a good way to simply integrate some of the currently
working frameworks, be it FakeIt or Turtle? By the way, Turtle is being
maintained, at least to a degree of compatibility with the latest Boost
version.

Best regards,

Martin

On 09. 12. 18 13:01, Tom Kent via Boost-users wrote:
>
> On Sun, Dec 9, 2018 at 5:04 AM Sean Farrow via Boost-users
> <boost-users_at_[hidden] <mailto:boost-users_at_[hidden]>> wrote:
>
> Hi all,
>
> I was just wondering whether boost.test provides any mocking
> facilities?
>
> If it doesn’t is there a recommended mocking framework?
>
> Any help appreciated.
>
> Kind regards
>
> Sean.
>
> It doesn't.
>
> I've been using, and very much enjoying fakeit[1]. Its developer(s)
> have taken boost::test into consideration and have a header you can
> include that specifically integrates with boost, `#include
> <fakeit\single_header\boost\fakeit.hpp>`.
>
> It has decent but not amazing documentation [2]. It has a pretty good
> community that interacts through github issues/pull requests, but I
> haven't found much outside that (blogs, reddit, etc), but that might
> be because I haven't looked that hard. It is a bit difficult to google
> for.
>
> I've also tried turtle [3], which is a mocking framework made
> specifically for boost::test, but I remember being dissapointed in it,
> It was a while ago, so I don't exactly remember why, I think it was
> lacking some fetures I was looking for? It also doesn't seem to be
> maintained anymore,
>
> Finally, I'd be remiss if I didn't mention Google Mock [4]. It isn't
> made for use with Boost, it is specifically made for use with Google
> Test [5], but it should be usable. I haven't tried it, but you may
> want to consider it.
>
> In general, compared to a language like python, mocking is very
> difficult to do in C++. It only works for virtual members, so if your
> codebase isn't interface driven it won't work well. Wanting to use
> mocking well has made us start using the SOLID [6] principles, which
> has been a great improvement to the overall quality of our codebase.
>
> Tom
>
> [1] https://github.com/eranpeer/FakeIt
> [2] https://github.com/eranpeer/FakeIt/wiki/Quickstart
> [3] http://turtle.sourceforge.net/
> [4] https://github.com/abseil/googletest/tree/master/googlemock
> [5] https://github.com/abseil/googletest
> [6]
> https://scotch.io/bar-talk/s-o-l-i-d-the-first-five-principles-of-object-oriented-design
>
> _______________________________________________
> Boost-users mailing list
> Boost-users_at_[hidden]
> https://lists.boost.org/mailman/listinfo.cgi/boost-users



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net