Comments (8)
@aabrook Thanks for the nice idea. I think randomize test ordering on each node sounds doable. Randomize them across nodes might be more problematic because we want to run specific tests on the particular node.
from knapsack.
I can definitely appreciate the difficulty across nodes just due to ensuring that execution times are uniform. Maybe a stretch goal
where test balancing can be within a time frame to jumble. I suspect only possible in the pro version to track what's going on between nodes.
from knapsack.
Are you using the pro version https://github.com/KnapsackPro/knapsack_pro-ruby so you could try testing cross node randomization?
from knapsack.
Currently using just this version. Reviewed the pro but, due to the lack of https, we chose to continue with this version.
from knapsack.
I added https to pro version recently. Feel free to try it.
from knapsack.
@aabrook BTW currently you can randomize your rspec tests by adding in .rspec
file the line
--order rand
Thanks to that you would have randomize tests per node. Rspec will randomize them no matter the order of given test files.
from knapsack.
Here is example how to pass argument to knapsack command:
$ bundle exec rake "knapsack:rspec[--order rand]"
another way is to set order in spec_helper.rb
:
# spec/spec_helper.rb
RSpec.configure do |config|
# Run specs in random order to surface order dependencies. If you find an
# order dependency and want to debug it, you can fix the order by providing
# the seed, which is printed after each run.
# --seed 1234
config.order = :random
end
from knapsack.
Great thank you
from knapsack.
Related Issues (20)
- .rspec config looks ignored even in Regular Mode HOT 2
- Knapsack::Adapters::RSpecAdapter does not track time spent in `before` or `after` `:context` HOT 3
- Time execution for pending test file can't be measured due to exception HOT 1
- Cucumber split by scenario and not feature HOT 1
- how often to update knapsack_minitest_report.json timings report HOT 4
- knapsack is skipping some rspecs HOT 3
- Segmentation error under ruby 2.5.0 HOT 2
- How can this be used with the Kubernetes Jenkins Plugin that dynamically creates Jenkins slaves HOT 1
- `uninitialized constant ActiveSupport` with Minitest runner HOT 3
- send complete test coverage report from circleCI building specs to codeclimate HOT 3
- Knapsack does handle signals
- Generate report on minitest HOT 7
- All tests run when no spec files are found HOT 3
- cucumber runner exits with non-zero code even though tests passed HOT 12
- Some cucumber test files run via several CI jobs HOT 5
- Knapsack not generating report for rspec HOT 4
- Knapsack report not found by one job on GitLab CI HOT 5
- Hide Knapsack Time Offset Warning block? HOT 1
- Feature Request: Prioritise spec files HOT 1
- Load Balancing Algorithm doesn't consider weight of nodes HOT 3
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 knapsack.