Ubuntu 16.04 - Çalışmayan test
Closed this issue · 1 comments
ozgunbal commented
Ubuntu 16.04 LTS kullanıyorum.
Ubuntu'da şu an python3'ün stabil sürümü 3.5.2
Aşağıdaki çıktı testleri çalıştırdığımda geliyor:
ozgun@VTITUL05775:~/OTHERS/dokuztas$ source dokuztas/venv/bin/activate
(venv) ozgun@VTITUL05775:~/OTHERS/dokuztas$ pytest
================================== test session starts ==================================
platform linux -- Python 3.5.2, pytest-3.2.2, py-1.4.34, pluggy-0.4.0
rootdir: /home/ozgun/OTHERS/dokuztas, inifile:
collected 25 items
tests/test_blockchain.py ............
tests/test_nas.py ..
tests/test_node.py ......F....
======================================= FAILURES ========================================
_____ test_if_first_pendingblock_is_just_created_then_mining_should_be_started_once _____
def test_if_first_pendingblock_is_just_created_then_mining_should_be_started_once():
node = NodeComponent(miner=True)
node.create_genesis_chain()
patcher = patch('dokuztas.node.NodeComponent.mine')
mock = patcher.start()
for x in range(0, 200):
node.add_transaction(x)
patcher.stop()
> mock.assert_called_once()
tests/test_node.py:80:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <MagicMock name='mine' id='139783682489088'>, name = 'assert_called_once'
def __getattr__(self, name):
if name in {'_mock_methods', '_mock_unsafe'}:
raise AttributeError(name)
elif self._mock_methods is not None:
if name not in self._mock_methods or name in _all_magics:
raise AttributeError("Mock object has no attribute %r" % name)
elif _is_magic(name):
raise AttributeError(name)
if not self._mock_unsafe:
if name.startswith(('assert', 'assret')):
> raise AttributeError(name)
E AttributeError: assert_called_once
/usr/lib/python3.5/unittest/mock.py:583: AttributeError
--------------------------------- Captured stdout call ----------------------------------
>>> info: Genesis! Blockchain ilk kez oluşturuldu.
>>> info: Nonce bulundu! Nonce: 51597 Block_hash: 00009b8539d913411b8dd95aa3a449593dc454ef0ddc87955bd48d8ff48a926a
========================== 1 failed, 24 passed in 3.55 seconds ==========================
Şunu değiştirdiğimde testlerin hepsi geçiyor:
dokuztas/tests/test_node.py:80:
- mock.assert_called_once()
+ mock.assert_called_once_with()
pytest'in API'na hakim değilim, sadece stackoverflow buna yönlendirdi :D PR gönderebilirim, diğer işletim sistemlerinde de normal çalışacağını düşünüyorsan.