I'm writing TC for my method using external library sklearn.neighbors.KDTree
.
My test target method is below,
# target.py
from sklearn.neighbors import KDTree
@staticmethod
def mymethod(a, b):
...
dist, index = KDTree(a).query(b, k=3)
# manipulate the return value from KDTree.query
...
and, the code I tried as TC is this.
# mytest.py
from unittest import mock
@mock.patch('sklearn.neighbors.KDTree')
def test_mymethod(mock_kdtree):
# make test data and set mock
a = ...
b = ...
mock_kdtree.return_value.query.return_value = ...
# execute test target
mymethod(a, b)
assert mock_kdtree.called
When running TC it throws exception, Windows fatal exception: access violation
on the line calling dist, index = KDTree(a).query(b, k=3)
.
Is there something wrong to mock KDTree return value?