我是单元测试的新手,我正在编写一个类来模拟针孔相机的行为。
我使用unittest模块在Python中进行了几个单元测试,并且我的Camera类有一个lookAt方法,可以使其查看某个点,即它旋转相机框架以使其指向目标。 我还有一种将 3D 点投影到相机图片中的方法。
我的场景是,我首先测试lookAt方法,然后如果测试通过,我使用lookAt方法让我的相机看着一个立方体,然后将该立方体投影到我相机的图片上(投影是要在这里测试)。
单元测试模块中是否有可能在另一个测试中运行测试?或者我应该手工制作一个lookAt矩阵,然后单独测试投影(我认为这将是这里的最佳实践)?
最佳答案
看看skipIf decorator并根据第一个测试中设置的条件将其应用于您的相关测试。
@unittest.skipIf(condition, reason)
例如(来自上面的链接):
@unittest.skipIf(mylib.__version__ < (1, 3),
"not supported in this library version")
还有subTest() ,但文档将 subTest 的目的描述为“当您的某些测试仅存在一些[原文如此]非常小的差异时。”
关于python - 仅当另一个单元测试通过时才运行 python 单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49616239/