Comments (6)
Hi Jon, the jest test that exists is a unit test. A good unit test should not rely on any external dependencies like a server. Instead, it overrides the behavior of XMLHttpRequest
to mock expected server behavior.
Look for MockXMLHttpRequest
in https://github.com/philmander/browser-bunyan/blob/master/packages/server-stream/test/server-stream.test.js
from browser-bunyan.
I also just realized that ServerStream's unit test doesn't actually run on Jest, but another testing framework, Tap.
from browser-bunyan.
Yeah, I was had set up jest mocks but the assert for XMLHttpRequest kept failing. I realized that ServerStream wasn't getting used when the test was run when I checked if the endpoint was getting hit
from browser-bunyan.
Do you still need some help with this?
from browser-bunyan.
Yeah, I'm still wondering if it's possible to use jest to test this use case.
I'm also trying to figure out why jest doesn't even try to initialize ServerStream.
from browser-bunyan.
I originally thought you were trying to write a Jest based test for ServerStream
directly, but I think you are trying to test your code that uses a logger configured to use ServerStream
. You have to options:
- To proceed with your current approach, you need to globally mock
XMLHttpRequest
. Maybe there's some issues around doing this in Jest, I'm not sure - I would alternatively recommend that you find a way to completely mock your Bunyan logger in your tests or a logger without any Streams added
from browser-bunyan.
Related Issues (20)
- Document childName field HOT 3
- a condition inside server stream will never get called HOT 1
- Exclude fields HOT 3
- No option for flushOnNavigate HOT 3
- ServerStream outputs an array of JSON HOT 4
- Double server records
- start and end timer HOT 1
- [ConsoleFormattedStream]: Log objects to the same console line as the log output HOT 1
- Pretty-printed Setup / Definition - Not Working HOT 1
- flushOnClose sends records as text/plain instead of application/json HOT 3
- ConsoleRawStream. Where do I import it from? HOT 2
- @browser-bunyan/levels: Missing type definition for `nameFromLevel` HOT 1
- Add custom headers to ServerStream HOT 3
- Removal of streams HOT 1
- Do you have plans to support react-native?
- Can we return result of executing "write" methods of streams? HOT 1
- is there an server implementation? HOT 1
- Ability to give headers through function and/or promise
- Log API Throttle / Initialization Issue
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 browser-bunyan.