You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
READMEs will often include code to demonstrate the intended behaviour of a script. A great utility would be to automatically convert code snippets into outline tests, or at least an 80% version where all the tedious formatting and copy/pasting has been avoided.
For example:
README:
## 1. ATTRIBUTE NAMES
>>> x = CleverDict(значение = "znacheniyeh: Russian word for 'value'")
>>> x.значение
"znacheniyeh: Russian word for 'value'"
## 2. ERRORS
>>> x.nonexistent
AttributeError: 'nonexistent'
TEST
class test_README_code_examples:
def test_ATTRIBUTE_NAMES_1(self):
""" Code Example 1 from section: 1. ATTRIBUTE NAMES of the README """
x = CleverDict(значение = "znacheniyeh: Russian word for 'value'")
assert x.значение == "znacheniyeh: Russian word for 'value'"
def test_ATTRIBUTE_NAMES_1(self):
""" Code Example 1 from section 2. ATTRIBUTE NAMES of the README """
with pytest.raises(AttributeError):
x.nonexistent
OUTLINE APPROACH
import pyperclip
lines = pyperclip.paste()
lines1 = [x for x in lines.split("\n") if " " in x]
lines2 = [x.replace(' >>> x\r', 'assert x == "') for x in lines1]
lines3 = [x.replace('>>> ', '') for x in lines2]
lines4 = [" "+x for x in lines3]
# macro for inserting "assert ", going to end of line, deleting \n and subsequent 8(?) spaces etc.
pyperclip.copy(lines4) # or actually append to test.py
The text was updated successfully, but these errors were encountered:
READMEs will often include code to demonstrate the intended behaviour of a script. A great utility would be to automatically convert code snippets into outline tests, or at least an 80% version where all the tedious formatting and copy/pasting has been avoided.
For example:
README:
TEST
OUTLINE APPROACH
The text was updated successfully, but these errors were encountered: