Comments (3)
My only thoughts on this (largely echoed from our previous conversations on the subject):
I would recommend de-prioritizing tests on the SDK in favor of high level integration tests on the device setup lib. By far the most common source of issues has been with the setup process running on new versions of Android, and it's also one of the more time consuming things to test when you have to run that test many, many times by hand.
As for implementation, I'd probably stick with JUnit-driven unit tests and Espresso-driven integration tests. Maybe try out Spek or Spock for unit tests if you really want something more concise? And I'd avoid both PowerMock, and any cross-platform testing framework. Both are devil's bargains: they look great up front, but they come with nasty side effects and limitations you'll only discover after using them for a bit that eclipse their value.
from spark-sdk-android.
I agree that high level integration tests on device setup lib are important, but actually are less likely to change/break (pending Android API changes/devices behaviour). Also - would be pretty hard to implement. Another piece on info:
We will soon push for a integrated "browserified" soft AP process that should work similarly on iOS and Android webviews.
Lately an API response change caused a crash in the iOS app which could have been caught easily with unit tests on SDK - the API IS changing all the time and might cause breakage. Just my 0.02$ on why unit tests on SDK still have lots of value.
from spark-sdk-android.
Question. Does anyone know where the repo is for the Particle Photon that goes along with the example_app in this repository? Sorry I wasn't sure where else to put this.
from spark-sdk-android.
Related Issues (20)
- Add a proguard rules file to the AAR HOT 1
- Unsubscribing from events not working HOT 5
- Project not compatible with latest version of Android Studio/Gradle HOT 11
- How to receive more than one variable in the async task? HOT 1
- Add support for all device types/names by platform id
- Compare session token injection to iOS SDK
- Global listener in ParticleCloud for system events
- Modify signup function that supports new accountInfo fields
- func changeDeviceName() to rename() HOT 1
- Add missing fields that now are visible in getDevice response
- nuke resetFlashingState
- Explore idea of having native in-app shopping for Particle hardware HOT 1
- Verify Android 7.0 Nougat compatibility HOT 1
- SDK should refresh access_token when it expires using the refresh_token
- Go over FIXMEs and TODOs in source code HOT 1
- Add missing compile & flash API functions to SDK
- defect in api when creating new user in org from android exampleApp HOT 1
- Local spark and android API HOT 3
- Async RejectedExecutionException 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 spark-sdk-android.