Comments (2)
If I am reading some of the data tests correctly, it looks like the tests are pulling API keys from the environment and talking to the API?
You are correct.
For testing, would it not be better to mock the client responses to remove environment and connectivity dependencies?
Well, I argue not really. Alpaca has repeatedly broken API contracts. Without live tests we'd be flying blind as we'd still be testing against stale responses.
Also, you'd never get exposed to the various idiosyncracies of the API this way. E.g., different responses at different times of the day (which in turn change over time). It's very easy to create a paper trading account (I have at least three) and there is significant value in having it for testing. There may still be differences to live trading, but that's entirely on the Alpaca side of things.
That being said, we do have some mock tests, for testing serialization/deserialization of reference responses, but these are mostly for unit test style verification of chosen implementation details. I also have (unpublished) changes that emulate an entire broker locally, which would forego actual internet traffic, but it's not a full replacement for the obvious reason that we'd now be again testing against our own implementation/mocked behavior etc.
from apca.
Ok - makes sense. Thanks for expanding.
from apca.
Related Issues (20)
- Add support for gzip response data HOT 9
- unknown variant ``, expected one of `simple`, `bracket`, `oco`, `oto` HOT 3
- Oauth support? HOT 6
- Hook up portfolio history HOT 3
- support for Latest Multi Trades HOT 1
- Discussion: GPL? HOT 2
- Issue or missunderstanding related to subscriptions. HOT 4
- Calendar date/time. HOT 2
- Tokio using Mio prevents compiling to WASM HOT 1
- UUID using Getrandom and Rand prevents compiling to WASM HOT 1
- Support more Trade properties HOT 11
- Proposal: Use a dedicated data type for stock symbols instead of String HOT 2
- Live trading example not updated HOT 1
- Adding support for crypto streaming HOT 7
- Optionally use rustls instead of hyper-tls HOT 5
- example of streaming data with handlers HOT 3
- Support missing real-time streaming channels HOT 2
- automatic websocket reconnection HOT 3
- Parent type for `RequestError<_>` HOT 1
- What's the point to have Get/Post errors if all what you can get is `the endpoint reported an error`... HOT 1
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 apca.