我有这段代码:
password: 'password', //optional
在我的单元测试中,我想模拟它,所以检查右from shutil import rmtree
def ook(path):
rmtree(path, onerror=lambda x, y, z: self._logger.warn(z[1]))
是否通过了:
path
我可以用from mock import patch, ANY
@patch("rmtree")
def test_rmtree(self, m_rmtree):
ook('/tmp/fubar')
m_rmtree.assert_called_once_with('/tmp/fubar', onerror=ANY)
代替什么来检查那里有lambda?
答案 0 :(得分:1)
我会使用call_args
和call_count
执行此操作,而不是直接使用assert_called_once_with
,我不认为unittest.mock
有类似于from collections import Callable
...
@patch("rmtree")
def test_rmtree(self, m_rmtree):
ook('/tmp/fubar')
assert m_rmtree.call_count == 1
args, kwargs = m_rmtree.call_args
assert args[0] == '/tmp/fubar'
assert isinstance(kwargs.get('onerror'), Callable)
的内容。 jasmine.any
:
lambda
请注意,参数与var htmlContent = []; // initilize an empty array
$('tr td').each(function () {
htmlContent.push($(this).text());
console.log($(this).parent().attr('id'));
});
具体无关,只是它是可调用的。