python - 仅当另一个单元测试通过时才运行 python 单元测试

标签 python unit-testing camera python-unittest

我是单元测试的新手,我正在编写一个类来模拟针孔相机的行为。

我使用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/

相关文章:

python - 运行时错误: You must setup() the GPIO channel first

python - 带有空格或特殊字符的 Bokeh 工具提示名称

javascript - 如何使 QUnit 阻塞直到模块完成?

javascript - 三个js添加相机

iphone - CGImageCreate 中的颜色失真

android - 按照 Android Studio 的建议删除多余的转义会导致应用程序崩溃

python - 使用 Keras 构建的回归神经网络只能预测一个值

python - 在 python 中使用 VAR 模型进行条件预测

python - 在 csv 文件中标记重复项

android - 如何在单元测试中实例化 ViewModel?