Skip to content

Commit

Permalink
Using decorators for comprehensive testing
Browse files Browse the repository at this point in the history
Jussi in his comment here:
theupdateframework#1391 (comment)
proposed using decorators when creating comprehensive testing
for metadata serialization.
The main problems he pointed out is that:
1) there is a lot of code needed to generate the data for each case
2) the test implementation scales badly when you want to add new
cases for your tests, then you would have to add code as well
3) the dictionary format is not visible - we are loading external files
and assuming they are not changed and valid

In this change, I am using a decorator with an argument that complicates
the implementation of the decorator and requires three nested functions,
but the advantages are that we are resolving the above three problems:
1) we don't need new code when adding a new test case
2) a small amount of hardcoded data is required for each new test
3) the dictionaries are all in the test module without the need of
creating new directories and copying data.

Signed-off-by: Martin Vrachev <[email protected]>
  • Loading branch information
MVrachev committed Jun 9, 2021
1 parent 2779954 commit 9f35e93
Showing 1 changed file with 164 additions and 217 deletions.
Loading

0 comments on commit 9f35e93

Please sign in to comment.