Comments (6)
@REBELinBLUE It's not currently possible to set different slowness thresholds on a per-test suite basis. But I would love to add that feature.
How are you defining the test suites in your project? Would you mind posting an example?
from phpunit-speedtrap.
Thanks :) I'm just defining them using the tag in the phpunit config file
from phpunit-speedtrap.
@REBELinBLUE What might be the best way to disable the listener?
Setting an extremely high slownessThreshold
like 999999
would prevent a test reporting slow unless it ran for more than 999 seconds. However a more intentional threshold of 0
might be better. We already use reportLength = 0
to display all slow tests in the output instead of trimming to 5.
What if the SpeedTrapListener supported configuring test suites by supplying the testsuite name? The options configuration could be defined as an array of arrays, where each array has:
- testSuiteName
- slownessThreshold
- reportLength
The XML configuration would look like this for 2 test suites... what do you think?
<phpunit
backupGlobals = "false"
backupStaticAttributes = "false"
colors = "true"
convertErrorsToExceptions = "true"
convertNoticesToExceptions = "true"
convertWarningsToExceptions = "true"
processIsolation = "false"
stopOnFailure = "false"
syntaxCheck = "false"
bootstrap = "vendor/autoload.php">
<testsuites>
<testsuite name="Database Test Suite">
<directory>src/*/*/*/Tests/Database</directory>
</testsuite>
<testsuite name="Not Database Test Suite">
<directory>src/*/*/*/Tests</directory>
<exclude>
<directory>src/*/*/*/Tests/Database</directory>
</exclude>
</testsuite>
</testsuites>
<listeners>
<listener class="JohnKary\PHPUnit\Listener\SpeedTrapListener">
<arguments>
<array>
<element>
<array>
<element key="testSuiteName">
<string>Database Test Suite</string>
</element>
<element key="slowThreshold">
<integer>0</integer>
</element>
</array>
</element>
<element>
<array>
<element key="testSuiteName">
<string>Not Database Test Suite</string>
</element>
<element key="slowThreshold">
<integer>500</integer>
</element>
<element key="reportLength">
<integer>0</integer>
</element>
</array>
</element>
</array>
</arguments>
</listener>
</listeners>
</phpunit>
from phpunit-speedtrap.
Awesome, thanks that sounds ideal :)
from phpunit-speedtrap.
@johnkary It would be great if we could use the @slowThreshold
annotation on classes too, not just test methods 🙂
from phpunit-speedtrap.
Is this on the roadmap at all? I’m in the exact same boat (got an integration test suite that has “slow” tests that I’d like to increase the threshold on).
from phpunit-speedtrap.
Related Issues (20)
- Documentation usage example HOT 2
- PHPUnit 10 support HOT 2
- Improve UX
- Fatal error with Symfony 3.4 and symfony/phpunit-bridge HOT 4
- First test always report a lot of time HOT 5
- Compatibility with phpunit 8?
- Does not work when running phpunit via paratest HOT 3
- Switch over to using hooks instead of implementing deprecated TestListener HOT 5
- Display @dataProvider parameters HOT 3
- Disable in coverage test HOT 3
- Only output slowness report when explicitly enabled HOT 2
- Add development section to README
- Compatibility with PHPUnit 9 HOT 1
- Fix needed for phpunit 9.5
- Replace Travis CI with GitHub Actions
- Output total time taken by slow tests HOT 2
- Automatically annotate slow tests HOT 4
- Option to create report file
- Feature request: output list of fastest tests executed HOT 1
- How to Fail Slow Tests?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from phpunit-speedtrap.