0

ねえ、私はLudoGameを作成しましたが、今は少しGuiceInjectionでテストするのが好きです^^私は自分のダイ用のインターフェイスIDを持っています。今のゲームでは、リアルディの代わりにIDieだけが必要です=>テストでは、LudoGameにMokeDieを与えて、ロールしたい数字を設定します。IDieには、intを返すroll()という1つのメソッドしかありません。しかし、mokeDieには別のパブリックメソッドがあります:sendNextNumber()(これが何をするかを明確にする必要があります^^)今、私は@Inject a Dieが好きで、@ UseMokeDieがテストの前であれば、MokeDieに合格したいと思いますが、私はGuiceは非常に新しいです...アドバイスが必要です。回答のためのThx

4

2 に答える 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 に答える