なんのことはない、setUp()をオーバーライドしたらsuper.setUp()を呼ぶ必要がある、ただそれだけのようです。
setUp()で初期化するときに、Overrideしてるにも関わらずsuper.setUp()を書き忘れていた。
http://d.hatena.ne.jp/aki-rs/20100207
「No API environment is registered for this thread」っていうメッセージがあったのでぐぐったら、何とか.jarをビルドパスに追加しろって書いてあってやってみたのだけど、それでも状況は変わらない。
しかもControllerTestCaseを継承したクラスだと普通にDatastore.put()が実行できるから余計に謎過ぎた……やれやれだわ。