我正在尝试将静态多态性应用于单元测试
template<typename T, typename Output> class HistogramWriter
{
public:
static void write(const RGBHistogram<T> &hist, Output &output)
{
output << "ABCD" << std::endl;
}
};
现在我正在尝试将输出制作为模拟类以进行单元测试
struct TestMock
{
std::string data;
};
istream& operator>>(istream &stream, TestMock &mock)
{
stream >> mock.data;
}
如果我将 T 设置为 int 并将输出设置为 TestMock,则它不起作用。当然,如果我将输出设置为 std::cout,它会起作用。
我正在尝试将字符串复制到 TestMock 的数据中。但我只是不知道该怎么做,编译器抱怨二进制 '<<' no operator found