我正在进行一些单元测试,我需要确保函数总是返回类似np.datetime64的对象。然而,它们可以是任何单位(年、天、纳秒等)。
我试过:
comp = function_returns_datetime_array(inp)
assert isinstance(comp.dtype, np.datetime64)
assert issubclass(comp.dtype, np.datetime64)
assert issubclass(type(comp.dtype), np.datetime64)
有什么建议吗?
您可以使用issubdtype
:
np.issubdtype(comp.dtype, np.datetime64)
当前我使用的是:
assert 'datetime64' in str(comp.dtype)
它在我嘴里留下了不好的味道(因为它依赖于其他行为),但这是我所能忍受的。