抽象クラス内に実装メソッドと抽象メソッドがある場合に、
そのクラスをJUNITでテストしたいと思っています。
通常のクラスであれば、そのクラスに対するテストクラスを
作成して、テストクラス内でテスト対象クラスをnewして
テストケースを記述していくと思いますが、
上記のような抽象クラスの場合は、
どういった形でテストクラスを作成すれば良いのでしょうか?
抽象クラスはnewできないので、
抽象クラスを実装したクラスをまず作成して
そのクラスに対するテストクラスを作成するのでしょうか?
お薦めの方法や一般的な方法があれば教えてください。
以上、よろしくお願い致しますm(__)m
【環境】
JDK1.4.2
JUNIT3.8.1
No.1ベストアンサー
- 回答日時:
こんにちは。
一般的な方法かどうかは分かりませんが、私が実際にプロジェクトで実施した方法は、
・テスト用に抽象クラスを継承したクラスを作成
・そのクラスに対するテストクラスを作成
でした。
抽象クラスの実装メソッドは、抽象クラスのテストとした方がいいと思います。
実装クラスで行おうとすると、複数の実装クラスがあるときにどの実装クラスでテストをするべきかコントロールする必要があります。
その結果、テストが漏れていた、といった苦い経験があったためです。
あとは命名ルールを決めておけばよいと思います。
テスト対象クラス=AbstractSample
だったら、
テスト用の実装クラス=ConcreteSample
テストクラス=AbstractSampleTest
というような感じですね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java java 飾子を付けること(public static・・・) ・コンソールへの出力処理はmainメ 2 2022/06/16 19:34
- 予備校・塾・家庭教師 塾の先生にひかれた? 1 2022/10/04 23:13
- 中学校 終わった…。 中2です。いろいろと終わりました…。 1つ目が塾…。私の塾では学校のテスト前(中間テス 10 2022/05/24 17:55
- 予備校・塾・家庭教師 浪人生です。 予備校の授業で、予習復習の時間をしっかりとって理解もできてるのですがどうしても時間が余 1 2022/04/28 22:26
- Excel(エクセル) Excelで全クラスのランキング表を作成したい 4 2022/05/24 15:28
- 高校 クラス一位に戻りたいのですが、 4 2023/06/11 17:41
- 子供・未成年 私の学校の教育の仕方がおかしい? 4 2022/10/30 17:25
- Java javaの質問です 次の機能を有するメソッド4つを自クラスに作成し、実装したいです 【機能】 足し算 1 2022/06/15 17:49
- Java java 次の機能を有するメソッドを自クラスに作成し、実装したいです。 機能 名前判定機能 →名前が 3 2022/06/16 16:08
- Java javaの質問です 次の機能を有するメソッド4つを自クラスに作成し、実装したいです 【機能】 足し算 1 2022/06/15 15:14
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
Junitテストでvoid戻り値メッソドをテストする方法
Java
-
[JAVA]try 内の変数を外で!?
Java
-
ネストしたenumへのリフレクションによるアクセス
Java
-
-
4
使用しているJUnitのバージョン確認の方法
Java
-
5
Java リフレクションについて
Java
-
6
Eclipseでクラスファイルが生成されない
Java
-
7
djUnit コンストラクタがprivateでテストが行えない
Java
-
8
Eclipseのアンインストールの仕方
Java
-
9
interface,extend,implementのちがい
Java
-
10
IOException ってどういうときに起こるのでしょうか?
Java
-
11
JUnitのテストメソッドごとのメモリの確保とかの話
Java
-
12
【C#/Java?】try-catchでcatchせずにfinallyは一般的?
その他(プログラミング・Web制作)
-
13
Eclipseで、プロジェクト名のところに赤いバッテンのエラーマークが
Java
-
14
DTOとEntityの差は何ですか。
Java
-
15
変数を動的に利用するには?
Java
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
(vba)他のアプリケーションの右...
-
メソッドの引数にクラス名を渡す
-
ゲッターを使わないで変数にア...
-
「ラッパークラス」の存在意義...
-
interface,extend,implementの...
-
JTextFieldの入力制限
-
C++で参照カウンタを実装したい...
-
c++でのヘッダーファイルの循環...
-
vb.net 自作プロパティの削除に...
-
「継承されたメソッドの可視性...
-
「IOException は対応する try ...
-
サーバー上のフォルダ情報の取得
-
ASP.NETでの共通コードの書き方...
-
抽象クラスをJUNITでテストする...
-
Java StringBuilderクラスについて
-
なぜインタフェースを使うのか?
-
TableViewでタップした時にキー...
-
ファイルパスが取得出来ない(P...
-
オブジェクト指向の特徴
-
c# この高速化の方法あり?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
interface,extend,implementの...
-
抽象クラスをJUNITでテストする...
-
「ラッパークラス」の存在意義...
-
(vba)他のアプリケーションの右...
-
ASP.NETでの共通コードの書き方...
-
VB DLLプロジェクトについて
-
C#からDLLを呼びたいのですが・...
-
c++でのヘッダーファイルの循環...
-
委譲って何ですか?
-
「継承されたメソッドの可視性...
-
【C#】クラスのコンストラクタ...
-
Javaでのジェネリクス型パラメ...
-
C# 「データが失なわれる可能性...
-
Excel vbaのプログラムでガンマ...
-
ファイルパスが取得出来ない(P...
-
オーバーライドとラッパーの違い
-
compareToにおける「自然順序付...
-
メソッドの引数にクラス名を渡す
-
vb.net 自作プロパティの削除に...
-
VBがオブジェクト指向言語でな...
おすすめ情報