I am just curious on how people test their developed plugins, do you automate you testing, what do you use for testing? (I have very little expierence in it, moslty only in python, but unrelated to rhino)
Is there a best practise?
Background: I am currently developing a plugin (in C#) which uitlizes custom UserData, custom geometry operations and exports to various file formats, thus, its getting rather complicated. Hence, we have quite a few UI interfaces and things that can be adjusted, changed, etc. which I would like to define and test everytime a deploy a new version.
Looking forward to this discussion! Feel free to drop any comments
Awesome question. Testing is a fantastic development practice.
As much as possible honestly, let’s give examples for tests.
Headless Unit Tests
Here is an example of an automated github action we’re working on, this can be run on a github runner in the cloud.
Automated End-to-End Headed Tests
Here is a plugin that lets you automate Headed and more complex tests that require rhino to be open. I’ve never managed to run this on a github or CI/CD runner, but I’ve managed it on self-hosted runners quite happily.
UI Tests
For now, I’d recommend manual testing, which is my least favourite kind, but it means you’ll personally evaluate your ui/ux plenty at least
For most all testing needs, Rhino.Testing is your best bet, and here are some Examples.
It’s also the simplest route to testing.