v7.0.0 Beta #1205
Replies: 3 comments 3 replies
-
The new test selectors are really great for readability! But there's one downside: they don't work as well with automated tooling. For instance the junit output of
Similarly, it looks like our jenkins test-report plugin splits the testsuite name on the last period character I'm not sure what y'all "should" do about this, since arguably it's not your problem but the fault of fastlane, the jenkins plugin, etc. But as a data point: if you offered a configuration option to process the selectors as they used to be (replacing more or less all whitespace and punctuation with underscores), I would turn it on: it's more important for my team to have the automated tooling able to provide meaningful overview, even though that means the individual test names are less informative. |
Beta Was this translation helpful? Give feedback.
-
As a further data point, I'm looking to jump from version 5.x to 7.x without stopping at 6, because the always-on-everywhere async needs too much refactoring for our codebase. I'd also very much like to be able to make use of #1166 ! If it's possible to stabilise a major version that doesn't include too many new breaking changes on top of the async stuff, my team would be very appreciative. |
Beta Was this translation helpful? Give feedback.
-
Closing discussion now that Quick 7 is out. I want to thank everyone for their help with this! |
Beta Was this translation helpful? Give feedback.
-
Beta 3 Changes
Quick 7 Beta 3 adds a flag to re-enable the encoded test selector names. This is useful for automated test analysis tools which track tests over time or are broken with the new human-readable test selectors.
Set the
QUICK_USE_ENCODED_TEST_SELECTOR_NAMES
environment variable and Quick will generate the older-style encoded test selector names (all non alpha-numeric characters will be replaced with underscores).Thanks to @tikitu and @stonko1994 for their help prioritizing adding this flag.
Beta 2 Changes
Quick 7 Beta 2 changes how test selectors are generated for
QuickSpec
. Now, bothAsyncSpec
andQuickSpec
will use the unencoded test names as the test selectors. Test selectors are now generated by joining thedescribe
/context
blocks leading up to theit
block with ", ". This makes test names immensely easier to read. For example, with the following spec:will generate the following test selectors:
some feature, in one case, has a behavior
some feature, in another case, doesn't have the earlier behavior
Beta 1 Changes
Quick 7 changes how Async tests are run. Instead of forcing all tests to run in an async context, Quick 7 provides a separate Spec class for Async Tests. Create an
AsyncSpec
subclass, and all tests inside of that subclass will run in an async context. Tests inside ofQuickSpec
subclasses will have a similar behavior to what was in Quick 5.Additionally, Quick 7 changes how the DSL is defined slightly. In Quick 6 and before, the DSL was defined as a series of global functions, available to be called anywhere. In Quick 7, these functions were moved to be static methods on the new
SyncDSLUser
(whichQuickSpec
,Behavior
, andQuickConfiguration
conform to) andAsyncDSLUser
(whichAsyncSpec
andAsyncBehavior
conform to) protocols. This allows us to make sure that you are using the correct DSL for the context, and was necessary for this approach.For example:
We encourage you to check this out, and to share feedback by filing an issue or discussing this in the discussions.
Full Changelog: v6.1.0...v7.0.0-beta.3
This discussion was created from the release v7.0.0 Beta 1.
Beta Was this translation helpful? Give feedback.
All reactions