currently I'm working on test automation for DSLs. Referring to MPS there are some aspects for which some kind of unit tests could be useful. Just to give some examples:
- I specified a constraint which should make sure that only children of a particular concept can be inserted. I could test this by creating a model and instantiating the respective parent node and then use the auto-completion menu. But if I have to make sure that everything has been tested, it would be more useful to go through a collection of programmatic aspect tests.
- How can I test programmatically if my TextGen works as believed? (This question comes from: Text generator unit tests)
- One could also write migration scripts. How can I make sure programmatically that the transformation from an old AST to the new one works as desired?
There are more examples of leverage points of testing. I know that there is a test aspect. But it seemingly does not cover all aspects. Is there any best practice or tutorial on how to write such tests?
Thank you in advance,