Adjustments and improvements to Umbraco.Cms.Tests.Integration #20968
Replies: 5 comments 1 reply
-
|
Oh, and while at it - why not bump NUnit from 3.14 to 4.x by now? |
Beta Was this translation helpful? Give feedback.
-
|
Hey Lars, I have been willingly assigned to have a look at this and am very much interested in trying to get this done. Send me a DM if you want to have chat about this sometime soon. |
Beta Was this translation helpful? Give feedback.
-
|
First PR in. :) |
Beta Was this translation helpful? Give feedback.
-
|
Just a wee status update:
Hopefully these two PRs will let us experiment with improving the run time of the core integration tests, as well as facilitate any such use in consumer tests. Not quite sure whether the full "reusable database" trick from my package is applicable, but we'll see given time and effort. |
Beta Was this translation helpful? Give feedback.
-
|
Some notes after trying to upgrade to 17.
Just leaving the notes here so we can talk about and optionally address them. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
I recently released a package and a blog post about improving setup time for integration tests that make use of the Umbraco.Cms.Tests.Integration package.
I'd like to hear HQs opinion on making a few tiny changes to the very base classes in Umbraco.Cms.Tests.Integration, as well as whether it would be interesting to see about applying a few of the mechanisms I've introduced to the core integration tests.
Applied well, the tricks could drastically improve execution time of the integration tests during CI builds, not to mention locally.
The two main things that prevented me from achieving the setup fixture technique instead of test fixtures are as follows:
TestOptionAttributeBaseexpects an NUnit test method to be running and use the method name to find the declaring type and the queried attribute.TestOptionAttributeBaseshould be rewired to fall back to looking at the type's attributes if a test method is not active. Currently it just blows up without being hacked.TestOptionAttributeBase, which is totally naughty and a hack. 😇DefaultUmbracoAssemblyProvideret. al. requires a physical location for the entrypoint assembly.I think the first is super easy and a no-brainer to fix, while the second requires a bit more thought and discussion.
Then for the general improvements the techniques would bring and how the core tests could benefit:
Eager to hear anyone's opinion on this.
Hit me up!
Beta Was this translation helpful? Give feedback.
All reactions