Testing Frameworks

Hello,

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 :smiley:

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 :slight_smile:

For most all testing needs, Rhino.Testing is your best bet, and here are some Examples.
It’s also the simplest route to testing.

3 Likes

Great, very interesting! Probalby for my case the Automated End-to-End Headed Tests sounds the most interesting for me.

Going to have a first look at the Examples given for Rhino.Testing, starting simple and lets see how complicated I can make it. :rofl:

I gonna update the process here and come back with questions if i have any!

1 Like

I have dealt with a lot of this stuff, so quite happy to answer more questions :slight_smile:

1 Like

Gonna work on it after Christmas, some other things need attention/ have priority first unfortunatly.

I update here as soon as possible :slight_smile: !

1 Like