Eloquent JUnit: from Matchers to Builders (EN)

VERSION FRANCAISE

  1. Context
  2. The Test: verbose
  3. The Matcher: concise
  4. The Builder: eloquent
  5. Improvements
  6. Conclusion
  7. Sources

Context

I had to make an evolution on a legacy code handling a large number of nested Java objects. The code was instancing several thousands of the class Demande (“Request”) from a ResultSet.

This class Demande was characterized by:

  • plenty of attributs, like dates or amounts,
  • and a lot of nested objects. Under the root Demande, there were 9 sub-levels with as much of 20 attributes each.

So, I began to write tests to guarantee non-regression…

Lire la suite

Eloquent JUnit: from Matchers to Builders

  1. Contexte
  2. The test: verbose
  3. The matcher: consise
  4. The Builder: eloquent
  5. Améliorations
  6. Conclusion
  7. Sources

Context

Je devais faire une évolution dans une portion de code legacy, qui manipulait une grappe d’objets. En fait, le code générait des instances de la classe Demande (plusieurs milliers) à partir d’un ResultSet.

La particularité de la grappe objet était que, la Demande avait :

  • de nombreux attributs, comme des dates ou des montants,
  • mais aussi d’autres objets: depuis la racine Demande il y avait 9 niveaux, et certain de ses enfants avaient plus de 20 attributs.

J’ai donc commencé par écrire des tests de non régression…

Lire la suite

Symbolication (crash log d’une app iOS)

Il est très utile de pouvoir récupérer les fichiers de log suite au crash d’une application sur un iPhone ou un iPad, et encore plus de pouvoir “décrypter” ces fichiers. Pour cela, il vous faudra prendre des dispositions au moment où vous générez le livrable !

Lire la suite

1er meetup Serious G@GE

Lundi soir a eu lieu la première rencontre du groupe que j’ai lancé avec Alexandre CUVA : Serious G@GE (SeriousGaGE.ch).

Il s’agit d’un groupe naissant qui se rencontre une fois par mois à Genève en soirée pour mettre en oeuvre des (Non Video) Serious Games

Lire la suite

Innovation Games à Genève

Vous êtes responsable produit, côté marketing, business ou MOA, chef de projet ou simplement acteur sur une application ou un service ?
Vous souhaitez revoir ou affiner la vision ou les caractéristiques, définir les fonctionnalités clefs ?

Les Innovations Games sont pour vous : http://innovationgames.com

Lire la suite

Heroku on Rails

Cela faisait plusieurs mois que je voulais mais je me disais “ça va me prendre trop de temps”…

Erreur ! Il m’a fallu 1h50 et 9 lignes de commande pour mettre en place mon environnement de développement Rails professionnel, créer mon application et la déployer sur une plateforme professionnelle : Heroku.

Un véritable exploit, quand on sait qu’il m’a fallu plusieurs jours pour faire un tutoriel Java EE… Exploit dû d’avantage aux technologies, plutôt qu’à moi… Hélas ;)

Lire la suite

Dealing with “missing a required architecture – armv6″ error

While trying to submit the version 3.0 of skippers.tv app to the Apple App Store we found following issue:

iPhone/iPod Touch: application executable is missing a required architecture. At least one of the following architecture(s) must be present: armv6

 

As it doesn’t seem to be an isolated issue trivial to solve, I’d like to share how to we managed to fix it. We found the good hint in a comment of this post. On the setting Project -> Build Settings -> Architectures -> Release, we selected “Other…” and we removed $(ARCHS_STANDARD_32_BIT), and we added two values: first “armv6” and second “armv7“. The project settings were like this:

Project "armv6" and "armv7" settings

Making the changes at project level propagates the value in the corresponding target:

Target "armv6" and "armv7" overridden settings

I hope this can help other people facing the same issue.

Did it work for you? Did you find another solution? Do please share it in the comments. Thanks!