私の小さなライフワーク。自分が撮った写真でカレンダーを作る。 毎年カレンダーを作ってます 2024年も残り10日。早いですね。年末になると、私はカレンダーを制作しています。自分が撮影した写真を選んで、翌年のカレンダーにするのですが、かれこれ10年以上続いています。2025年のカレンダーも無事(?)完成しました。 写真を選ん…
JUnitとは、Javaプログラムの単体テストを行うためのツールです。 そのJUnitについて解説していきます。 JUnit INDEX 単体テストとJUnit 1.1. 単体テスト 1.2. JUnitとは 1.3. JUnitのインストール テストクラス 2.1. テストクラス 2.2. テストメソッド 2.3. テストの実行 テストクラス2 3.1. テストメソッドが処理される順序に注意しよう 3.2. 「副作用」があるテストは書かない 3.3. テストはソースコードと同じ場所に保管しよう 3.4. テストには、適切な名前を付けよう 3.5. JUnitのassert/failメソッドと例外処理を最大限に利用しよう 3.6. テストはjavadocで書面化しよう 3.7. テストはできるだけ小さく、できるだけ早く 便利なメソッド 4.1. setUpとtearDown 4.2. Te
以前のモックフレームワークの技術的制約 今まで私が担当してきたプロジェクトにおいては、モックオブジェクトを使ったJUnitの単体試験はjMockとEasyMockのいずれかのフレームワークを利用して行ってきました。しかし、これらのフレームワークはJavaプラットフォームにおけるコード自動生成の考え方の変遷で説明したように動的プロキシーに基づいているため、以下のような制約がありました。 モック化する対象の型はインターフェースを実装しているか、継承可能なクラスであること モック化するメソッドはfinal、static、privateでないこと*1 モック化するロジックはコンストラクターの呼び出しではないこと モックオブジェクトをテスト対象クラスにDIかパラメーター経由で引き渡すことが可能であること モック化する場合はクラス全体をモック化する必要があること(getterやsetterなどは本物の
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
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く