タグ

reflectionとtipsに関するfragarach_the_swordのブックマーク (3)

  • プログラムの裏側:内部情報を得るためのJavaリフレクション

    はじめに プログラミングにおけるリフレクションとは、変数からメソッドの宣言まで、プログラムの内部構成のすべてを知ることのできる機能です。Javaでこの機能を利用するには、その名のとおり、JavaリフレクションAPIを使用します。 JavaリフレクションAPIを使用すると、特定のJava仮想マシン(JVM)のクラス、インターフェース、およびオブジェクトの内部情報を知ることができます。一般に、開発者はこのAPIを使用して次のような作業を行います。この作業内容を見れば、デバッガや統合開発環境(IDE)などのツールの開発にこのAPIが頻繁に使用される理由が分かると思います。 オブジェクトのクラスを判別する。 クラスの修飾子、フィールド、メソッド、コンストラクタなどに関する情報を得る。 インターフェースの定数とメソッドの宣言に関する情報を得る。 実行時まで名前はわからないが、設計時に使用されたり、ラ

    プログラムの裏側:内部情報を得るためのJavaリフレクション
    fragarach_the_sword
    fragarach_the_sword 2009/07/17
    プログラムの裏側:内部情報を得るためのJavaリフレクション:CodeZine
  • JUitでプライベートメソッドをテストする - とある誰かの覚え書き

    JUnitでprivateメソッドをテストする方法について。 やり方はいろいろあると思いますが、個人的にはこれが一番簡単だと思います。 まずはテスト対象のクラスです。runメソッドがprivateになっているので、普通にアクセスしてもテストできません。 PrivateClass.java package jp; public class PrivateClass { private void run () throws Exception { throw new RuntimeException(); } } そこで次のクラスのように、リフレクションを使ってテストを行います。 PrivateClassTest.java package jp; import java.lang.reflect.Method; import junit.framework.TestCase; import o

    JUitでプライベートメソッドをテストする - とある誰かの覚え書き
    fragarach_the_sword
    fragarach_the_sword 2009/01/31
    JUitでプライベートメソッドをテストする - とある誰かの覚え書き
  • プライベートメソッドのテスト

    なんとなくテストコードはかけるようになった。 でも、公開(パブリック)メソッドだけでなく、 内部実装であるプライベートメソッドの方も直接テストしてみたい。 というわけでやってみよう。 ●プライベートメソッドをテストしたい ちまっとソースを書いてすかさずテストというサイクルをまわすには、 プライベートなメソッドもテストしたくなる。 というか、実際には際どいところはたいていプライベートな内部コードに 存在しているのでその近辺を濃密なテストで取り囲むにはどうしても 直接プライベートなメソッドを呼び出したい。 1つの案としてはプライベートメソッドテスト用にパブリックなコードを 体側に組み込む手もあるけど、せっかくの「テスト用コードと体コードを分離できる」という JUnitを使うメリットが失われるし、 テスト実体とテスト用の窓口という形でテストコード自体が分散してしまう。 プライベートをやめ

    fragarach_the_sword
    fragarach_the_sword 2009/01/31
    プライベートメソッドのテスト
  • 1