ねえ、私はLudoGameを作成しましたが、今は少しGuiceInjectionでテストするのが好きです^^私は自分のダイ用のインターフェイスIDを持っています。今のゲームでは、リアルディの代わりにIDieだけが必要です=>テストでは、LudoGameにMokeDieを与えて、ロールしたい数字を設定します。IDieには、intを返すroll()という1つのメソッドしかありません。しかし、mokeDieには別のパブリックメソッドがあります:sendNextNumber()(これが何をするかを明確にする必要があります^^)今、私は@Inject a Dieが好きで、@ UseMokeDieがテストの前であれば、MokeDieに合格したいと思いますが、私はGuiceは非常に新しいです...アドバイスが必要です。回答のためのThx
2 に答える
3
テストの場合、インスタンスを手動で構築するのが最善の策です。例えば:
public void testAdvance() {
MockDie die = new MockDie();
LudoGame game = new LudoGame(die);
die.sendNextNumber(5);
game.advance();
}
于 2010-05-07T15:43:41.993 に答える
0
あなたが試すことができます:
Injector injector = Guice.createInjector(new AbstractModule() {
@Override
protected void configure() {
bind(IDie.class).toInstance(new MockDie());
}
});
System.out.println(injector.getInstance(IDie.class).getClass().toString());
于 2010-05-08T17:14:21.627 に答える