Boost ::测试和模拟框架

Sar*_*ica 10 c++ testing boost mocking

我正在使用boost :: test,需要使用一个模拟框架.有没有人有任何建议?

Era*_*'er 11

假 - 它是一个简单的C++ 模拟框架,使用最新的C++ 11特性来创建一个富有表现力(但非常简单)的API.使用FakeIt,不需要重新声明方法,也不需要为每个模拟创建派生类,它具有内置的boost :: test集成.这是你假装的方式:

struct SomeInterface {
  virtual int foo(int) = 0;
};

// That's all you have to do to create a mock.
Mock<SomeInterface> mock; 

// Stub method mock.foo(any argument) to return 1.
When(Method(mock,foo)).Return(1);

// Fetch the SomeInterface instance from the mock.
SomeInterface &i = mock.get();

// Will print "1"
cout << i.foo(10);
Run Code Online (Sandbox Code Playgroud)

还有许多其他功能需要探索.来吧试一试.


Gya*_*uyn 9

我最近为我的最新项目搜索了单元测试和模拟框架,并使用了Google Mock.它有最好的文档,看起来相当不错(虽然我还没有创建非常复杂的模拟对象).我最初考虑使用boost::test但最终使用Google Test(我认为这是Google Mock的先决条件,即使您使用其他测试框架).它还具有良好的文档,并具有我期望的大多数功能.


小智 6

你可以尝试!


小智 6

这里有一个使用Google Mock和Boost Test的例子.我更喜欢Boost测试,因为我经常使用其他Boost库.