micropython-lib/unittest/unittest.py

39 wiersze
926 B
Python

class TestCase:
def fail(self, msg):
assert False, msg
def assertEqual(self, x, y):
assert x == y, "%r vs %r" % (x, y)
def assertTrue(self, x):
assert x
def assertIn(self, x, y):
assert x in y
def assertIsInstance(self, x, y):
assert isinstance(x, y)
def assertRaises(self, exc, func, *args):
try:
func(*args)
assert False, "%r not raised" % exc
except Exception as e:
if isinstance(e, exc):
return
raise
def main(module="__main__"):
m = __import__(module)
for tn in dir(m):
c = getattr(m, tn)
if isinstance(c, object) and issubclass(c, TestCase):
o = c()
for name in dir(o):
if name.startswith("test"):
m = getattr(o, name)
m()
print(name, "...ok")