2016-10-26 9 views
0

私はJavaプログラミングにとって非常に慣れ親しんでいます。私はゲームを作ろうとしているかなり大きなプロジェクトを持っています。私のクラスは次のとおりです。すべてのクラスのオブジェクトを作成するsetUpメソッドの作成方法?

  • ゲーム(メイン)
  • プレーヤー
  • モンスター
  • 戦場
  • 項目の大連鎖がある

  • InputReader
  • ユーティリティ依存関係、いくつかの方法r他にはない。プレーヤークラスには、ItemクラスからHashMapまでのItemオブジェクトを使用して、buyItemやSellItemなどのメソッドがあります。それにもかかわらず、私はunitTestクラスのSetUpメソッドを作成して、すべてのクラスのオブジェクトを作成し、Itemsをプレーヤコレクションに配置することになっています。私は個々のメソッドの基本的な単体テスト方法は知っていますが、私はこれを回避することはできません。私がそれを理解すれば、それは明らかであるかもしれないことを知っています。

  • +1

    がありますが特別なことは何もここにありません:ちょうどあなたがあなたのゲームの主な方法の場合と同様に、オブジェクトを作成するコードを記述します。 –

    +2

    あなたの完全な質問を読んでいないのですが、ユニットではなく[ingetration-testing](https://en.wikipedia.org/wiki/Integration_testing)のように聞こえます。 [Object mocking](http://stackoverflow.com/questions/2128148/what-are-mock-objects-in-java)を見て、直接必要とする依存関係だけを模擬したいかもしれません。 – Turing85

    +1

    テストしたい問題を特定することができます。これはもっと具体的な質問です。 – user140547

    答えて

    0

    あなたは間違った方向から物事を見ている:

    1. 誰かが「そのようにやる」を説明しますので、あなたは、ユニット・テストを行いません。それはがあなたの開発プロセスにの価値を追加するからです。だから、何の付加価値、それをしない、存在しない場合(または最も可能性が高い:バックステップと学ぶにはどのようあなたに役立つことのようにユニットテストへ)
    2. ユニットの全体的なアイデアテストを最小値可能です単位です。だから、あなたのユニットが "すべてが必要です"というテストがあることが分かったら、テストするのが難しいデザインを作成したのではないでしょうか。これは、一歩後退して現在のデザインを調べる目安になります!

    ユニットテストの価値を得ることに本当に関心がある場合は、videosなどのリソースで「テスト可能なコード」を記述することを検討する必要があります。またはtheartofunittestingなどの素材。

    つまり、書き込みユニットテストは、訓練が必要なスキルです。そして、特に最初のステップはハードです。これらのことのすべてを説明すると、SOの質問/回答の範囲が爆破されます。

    +0

    匿名downvoteに関する説明はありますか? – GhostCat

    +0

    私が言ったように、その教師からのプロジェクト(割り当て)。私が書いたことは、基本的に、言葉の言葉で、私に何を求めているのかということです。私はちょうどこの特定の仕事のための入力を探しています。私は、割り当てが完了したときに単体テストのアイデア全体を詳しく見ていきます。悲しいことに、時間制限は常に小さいので、次の課題に進む前に何かを徹底的に調べる時間がありません。今私は基本的な考え方を把握しておく必要があります。 – In6ify

    1

    すべての初期化を行う方法を作成し、クラスで定義されたすべてのユニットテストが実行される前に、この方法は、一度だけ実行されます@BeforeClass

    @BeforeClass 
    public static void initialize() { 
        game = new Game() 
        // further setting up 
    } 
    

    でそれに注釈を付けます。


    1:このリンクの下でより多くのJUnitの注釈http://junit.sourceforge.net/javadoc/org/junit/package-summary.html

    +1

    メソッドが静的であると宣言されるまで、これは機能しません。私はあなたがそれを修正するときにdownvoteを削除します。 – rkosegi

    +0

    静的変数を使用する場合は静的である必要があります。私はOPがこれをユースケースに合わせて調整できると確信しています。 – mike

    +0

    いいえ、間違っています。もし私ができれば、私はもう一度ダウンボートするだろう。あなたはそれを試しましたか? 'java.lang.Exception:メソッドの設定(静的)' – rkosegi

    関連する問題