17

我尝试对我的相机预览图像进行单元测试,是否可以在测试期间将静态图像设置为“相机图像”,或者我应该尝试实现自己的模拟对象?

我正在寻找类似的东西:

myCameraMock.setImage(image);
myCameraDispatcher.setCamera(myCameraMock);

(我正在使用 opencv 相机)

谢谢

4

1 回答 1

0

一般来说,我会创建一个包装器/适配器,它只公开这种外部依赖项所需的功能。除了能够更轻松地适应外部依赖项的变化之外,您还可以在测试中模拟适配器,并让它完成依赖项本身无法轻松完成的事情。对于您的示例,您可以在测试中返回一个预定义的图像,并且如果您的代码在出现故障时表现正常(通常很难用真实的东西触发),它也更容易测试。

于 2021-03-07T15:05:16.410 回答