I have a Pytest suite configured to use --split-by-timings
and it works OK, but ideally I’d have the --timings-type=classname
flag enabled too. However, I cannot figure out what heuristics Circle uses to match the classnames passed to circle tests split
to the JUnit XML files from previous tests.
First note that modules are specified in the XML files using Python-style module specifiers e.g. path.to.some.test_feature.FeatureTestCase
. Pytest has its own style of specifier e.g. path/to/some/test_feature.py::FeatureTestCase
.
I have tried:
- passing Pytest-style specifiers to
circle test split
- passing Python-style specifiers to
circle test split
, then converting them back before passing to Pytest - tweaking classnames to match the
classname
XML attribute (points to the test case class) - tweaking classnames to match the
classname
andname
XML attribute joined (points to individual test methods)
but every time I get the dreaded No timing found for "..."
error. Without the --timings-type=classname
flag this isn’t an issue, so I’m pretty sure the XML is in the correct shape. I just can’t figure out why Circle isn’t matching these two strings together.