Monday, September 2, 2013

Continuous Integration

I've made some progress on the coding side. I have AR parsing the bet confirmation screen and creating my own Ticket object from that. I'm quickly learning how to use git, at least for my minimal needs.

Like I said in a previous post, I'm kind of a stickler for end-to-end. Maybe to a fault. I like to thing about deployment up front, and I always, ALWAYS want my build to be green. So today I'm looking into Travis, which is an automated CI tool that's tightly integrated with github.com

I just want a build to fire on some server somewhere when I check in. I want it to run my unit tests. I want it to report green/red (success/fail). That's it.

Speaking of unit tests. I spent some time yesterday looking into unit testing capability in IntelliJ with Android. Coming from the VS/.NET world, I am pretty comfortable with MSTest, and I've used nUnit also. In that world, the test project was always its own assembly. In the Java world, a project is the big container (like a solution in VS), and the module is an assembly (like a project in VS). Anyway, in the Android world, a test module has a lot of scaffolding to actually run your tests on the emulator Dalvik VM. It is meant to test Activity, Service, etc. The core building blocks of an Android app.

Well, I was writing parsing code in Java (take Android out of the equation for now). I just want to quickly run the unit tests as an entry point into my parsing class. So I opted for a JUnit test over the Android Test. The biggest benefit here being speed. Anything relating to the Dalvik VM is excruciatingly slow. The JUnit test fixture is much more analagous to MSTest. You just decorate your test methods with a @Test attribute, and run the tests. Super nice.

So with football season upon us, I'm trying to get something in place. I want to share my app with some friends who bet on Android using William Hill and see what they think.
back to the code .... and the build

No comments:

Post a Comment