{"id":17478,"date":"2021-09-22T22:00:41","date_gmt":"2021-09-22T20:00:41","guid":{"rendered":"http:\/\/blog.wenzlaff.de\/?p=17478"},"modified":"2021-09-22T22:00:41","modified_gmt":"2021-09-22T20:00:41","slug":"solidity","status":"publish","type":"post","link":"http:\/\/blog.wenzlaff.de\/?p=17478","title":{"rendered":"Quicktest zur heute ver\u00f6ffentlichen neuen JUnit 5.8.1 Version und auch Smart Contract Test mit Solidity auf der Blockchain"},"content":{"rendered":"<p>Heute ist eine neue Version von <a href=\"https:\/\/junit.org\/junit5\/docs\/5.8.1\/release-notes\/\" rel=\"noopener\" target=\"_blank\">JUnit 5<\/a> ver\u00f6ffentlich worden. Wenn das kein Grund f\u00fcr ein Quicktest ist:<br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2021\/09\/junit5.8.1.png\" alt=\"\" width=\"2374\" height=\"1180\" class=\"aligncenter size-full wp-image-17479\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2021\/09\/junit5.8.1.png 2374w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2021\/09\/junit5.8.1-300x149.png 300w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2021\/09\/junit5.8.1-1024x509.png 1024w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2021\/09\/junit5.8.1-768x382.png 768w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2021\/09\/junit5.8.1-1536x763.png 1536w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2021\/09\/junit5.8.1-2048x1018.png 2048w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/p>\n<p>Ja es l\u00e4uft noch. Mal was anderes, ein Phyton Test f\u00fcr ein Smart-Contract auf der Ethereum-Blockchain:<\/p>\n<pre class=\"lang:python decode:true \" >from brownie import Gehirn, accounts\r\n\r\ndef test_deploy():\r\n    account = accounts.load(\"freeaccount\")\r\n\r\n    gehirn = Gehirn.deploy({\"from\": account})\r\n    ini_iq = gehirn.retrieve()\r\n\r\n    expected = 0\r\n\r\n    assert ini_iq == expected\r\n\r\ndef test_update():\r\n    account = accounts.load(\"freeaccount\")\r\n\r\n    gehirn = Gehirn.deploy({\"from\": account})\r\n    \r\n    expected = 15\r\n    ini_iq = gehirn.store(expected, {\"from\": account})\r\n\r\n    assert expected == gehirn.retrieve()<\/pre>\n<p>Und hier der dazu passende Smart-Contract mit Solidity:<!--more--><\/p>\n<pre class=\"lang:default decode:true \" >\/\/ SPDX-License-Identifier: MIT\r\n\r\npragma solidity ^0.6.0;\r\n\r\n\/** \r\n * @title Gehirn von Thomas Wenzlaff\r\n * @dev Mein Smart Contract mit solidity zum Speichern von IQ auf der Blockchain\r\n *\/\r\ncontract Gehirn {\r\n    \r\n    uint256 iq = 0;\r\n    \r\n    function store(uint256 neuerIQ) payable public {\r\n        iq = neuerIQ;\r\n    } \r\n    \r\n    function retrieve() public view returns (uint256){\r\n        return iq;\r\n    }\r\n}<\/pre>\n<p>Die Tests gehen auch gegen die Blockchain:<br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2021\/09\/etherscan-rinkeby.png\" alt=\"\" width=\"2792\" height=\"2086\" class=\"aligncenter size-full wp-image-17480\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2021\/09\/etherscan-rinkeby.png 2792w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2021\/09\/etherscan-rinkeby-300x224.png 300w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2021\/09\/etherscan-rinkeby-1024x765.png 1024w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2021\/09\/etherscan-rinkeby-768x574.png 768w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2021\/09\/etherscan-rinkeby-1536x1148.png 1536w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2021\/09\/etherscan-rinkeby-2048x1530.png 2048w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Heute ist eine neue Version von JUnit 5 ver\u00f6ffentlich worden. Wenn das kein Grund f\u00fcr ein Quicktest ist: Ja es l\u00e4uft noch. Mal was anderes, ein Phyton Test f\u00fcr ein Smart-Contract auf der Ethereum-Blockchain: from brownie import Gehirn, accounts def test_deploy(): account = accounts.load(&#8222;freeaccount&#8220;) gehirn = Gehirn.deploy({&#8222;from&#8220;: account}) ini_iq = gehirn.retrieve() expected = 0 assert &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/blog.wenzlaff.de\/?p=17478\" class=\"more-link\"><span class=\"screen-reader-text\">\u201eQuicktest zur heute ver\u00f6ffentlichen neuen JUnit 5.8.1 Version und auch Smart Contract Test mit Solidity auf der Blockchain\u201c <\/span>weiterlesen<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[220,4606,79,4023,5004,2658],"tags":[4597,4990,5018,5005,194],"class_list":["post-17478","post","type-post","status-publish","format-standard","hentry","category-anleitung","category-crypto","category-programmierung","category-python","category-solidity","category-test-thema","tag-crypto","tag-eth","tag-smarc-contract","tag-smart","tag-test-2"],"_links":{"self":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts\/17478","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=17478"}],"version-history":[{"count":0,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts\/17478\/revisions"}],"wp:attachment":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=17478"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=17478"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=17478"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}