Writing Avocado Tests¶
Avocado tests closely resemble autotest tests: All you need to do is to create a test module, which is a python file with a class that inherits from avocado.test.Test. This class only really needs to implement a method called action, which represents the actual test payload. Let’s re-create an old time functional test for autotest, a simple time.sleep([number-seconds]):
#!/usr/bin/python
import time
from avocado import job
from avocado import test
class sleeptest(test.Test):
"""
Example test for avocado.
"""
def action(self, length=1):
"""
Sleep for length seconds.
"""
self.log.debug("Sleeping for %d seconds", length)
time.sleep(length)
if __name__ == "__main__":
job.main()
This is about the simplest test you can write for avocado (at least, one using the avocado APIs). Note that the test object provides you with a number of convenience attributes, such as self.log, that lets you log debug, info, error and warning messages.