Comments (2)
Unit tests did not catch this mistake because the mocked HTTP client never exercises this request. This is the kind of subtlety that integration tests are good at (re. #183)
I am not sure why e2e tests did not catch this.
We already have #183 for this discussion about integration tests, but for me, the solution to "e2e test did not catch it" is not to create integration tests because the e2e tests use an actual HTTP server, so I don't see what value it would add.
I think the problem is much simpler: we in the e2e tests are not checking that we don't introduce errors. We are just checking if we get the error we ask for.
So, we don't need to add more tests, just one test case to the existing e2e tests. For example, with errorRate: 0
(do not inject errors) and checking if we get a 200
. I suggest we do it in the context of fixing this issue.
from xk6-disruptor.
It seems like this was caused by a dumb typo: upstreamReq
was cloned and its RequestURI
cleared, but req
was passed instead of upstreamReq
🤦🏻♀️
Unit tests did not catch this mistake because the mocked HTTP client never exercises this request. This is the kind of subtlety that integration tests are good at (re. #183)
I am not sure why e2e tests did not catch this.
from xk6-disruptor.
Related Issues (20)
- Apply fault injection validations uniformly across protocols and disruptors
- Come to better abstractions for fault injection
- Improve linting and static analysis tooling
- Homogenize the http proxy tests
- Implement e2e setup/cleanup command
- Add tests for HTTP Proxy
- Implement e2e tests using k6
- Test-scoped data race in GRPC tests HOT 1
- Use the current branch's commit as the tag for Agent's integration tests HOT 3
- Add option to avoid test failing if traffic is not intercepted
- ambiguous import when building disruptor with last K6 version HOT 5
- Improve test coverage for ServiceDisruptor JS API
- Implement network traffic disruptions HOT 1
- Define strategy for testing node disruptor
- Enable integration tests on CI/CD
- Reorganize the project to separate agent and extension code
- agent integration tests are flaky
- The new dashboard does not work with xk6-disruptor HOT 8
- Release process is not creating installation packages HOT 1
- Envoy Support and Configuration for ServiceDisruptor with Istio HOT 2
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 xk6-disruptor.