サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
TGS2024
javaworld.helpfulness.jp
Struts1ももう過去の遺物になり、SAStrutsもEOLとなりもう半年以上が経過しました。 とは言え、すぐにSAStrutsから脱却できるわけでもなく・・・ そのような製品が多いと思います。そんなこんなで選択肢としては、Angular2やReactを利用して革命的にコードを書き換える との選択肢もありだとは思いますが、なかなかそこまでお金も時間もないのが現実だと思いますし、 現実的な選択肢はJava EE or Springの2択だとも思います。 と前置きが長くなりましたが、今回からSpringのエントリーを書かせていただこうと思います。 当然ですが、自動テストの比重が大きい内容にしていきます。 第一回目はSTS(Spring Tool Suite)の環境構築と簡単なWebアプリとなります。 なお、SAStrutsからの移行の場合を想定して、ViewはJSPを利用しますので、Spri
前回はEclipse環境でSelenium WebDriverでJava/Junit4を利用したテストの実装方法を説明させていただきました。 今回は、よく利用する基本的なコマンドと要素を特定する方法の説明を記載させていただきます。 EclipseでJava/Junit4を利用しますので、前回の「Selenium入門その3[Selenium WebDriver(Java/Junit4)の使い方] 」を先にご覧下さい。 本エントリーの内容は以下の通りです。 要素を特定する方法 Webブラウザを利用した各種情報の取得方法 非同期処理を考慮したテストの作成方法 よく利用する基本的なコマンド 1 要素を特定する方法 どんな処理でもそうですが、処理対象を決めないと処理できないですよね。 Seleniumで実現する自動テストも同様です。 少し話しは変わりますが、最近のWebアプリケーションではお決まりの
Selenium3も3.0.1がリリースされましたし、今後は本格的にSelenium3が利用されていくことが明らかとなってきましたので、簡単ではありますが、環境作成とEdge,Chrome,Firefoxで簡単なテストを実行するエントリーを記載させていただきます。 と言っても、Webドライバーを利用するだけであればほぼSelenium2と同じですが・・・ 本エントリーの内容は以下の通りです。 必要なファイルのダウンロード EclipseでSelenium3のWebDriverの利用環境を構築する Firefox、Chrome 、Edgeで簡単なテストを動作させる 1. 必要なファイルのダウンロード Selenium3のClient Javaライブラリのダウンロード http://www.seleniumhq.org/download/ にアクセスし、以下の画像の赤枠部分をクリックしファイル
WebDriverでは、予め中継サーバを起動しなくても、テスト実行時にブラウザ拡張機能や、OSのネイティブ機能を利用してブラウザ操作を再現することができます。 今回はEclipseを利用して 言語:Java、テストフレームワーク:JUnit4 でSelenium WebDriverを使ったテストの実装方法の説明をさせていただきます。 なお、本エントリーはSelenium3を対象としてものではございません。 (WebDriverという意味ではSelenium2もSelenium3も同じではるのですが・・・) Selenium3については以下のエントリーもご覧いただければと思います。 Selenium入門その6[Selenium3でWebDriver(Java/Junit4)の環境を作成しEdge,Chrome,Firefoxで確認してみる] 本エントリーの内容は以下の通りです。 Eclips
Seleniumは便利なテスト自動化ツールですし、今後は更なる利用者の増加が見込まれます。 とは言え、使いこなすにはノウハウが必要です。 (そんなにたいそうなノウハウ内容ではないですが・・・) 今までSeleniumを利用してトラブった経験を元にした内容も書いてみようかと思っています。 ちなみに、Selenium歴は10年ぐらいです。 今回はクリック編となります。何故かHTML要素が思ったようにクリックできないとお困りの方は是非ごらんください。 HTML要素が見つからない Element is not clickable at pointと言われる クリックしてもイベントが発火しない HTML要素が見つからない JavaでSeleniumを利用する時のHTML要素の検索方法は Selenium入門その4[Selenium WebDriver(Java/Junit4)の基本コマンド] で説明
Selenium入門その2[Selenium IDEの使い方] では「UIマップファイル」と言う仕組みが存在していることに言及させていただきましたが、詳細には触れておりませんでしたので、詳細な説明をさせていただきますが、残念なことに「UIマップファイル」はSelenium RCでは利用できますが、Selenium WebDriverでは利用できません。 今後Selenium IDEの機能改善により対応されるかも知れませんが、期待薄だと感じています。 Selenium WebDriverを前提とするのでしたら「Page Object Design Pattern(ページオブジェクトパターン)」を利用するしかないです。 と言うことで、本エントリーでは以下の内容を説明させていただきます。 UIマップファイルやPage Object Design Patternが必要な理由 UIマップファイルの利
今回は@RunWithアノテーションを利用したテストの作成方法を説明させていただきます。 JUnitでテストを書いていると、テスト対象メソッドの引数と戻り値の期待値だけ異なるテストメソッドが増えてきますよね。モックを利用した場合も同様の事が言えます。 このようなテストはDRYではないですし、メンテナンス性は低いと言えます。 この問題を解決するために@RunWithアノテーションが有効です。 本エントリーの内容は以下の通りです。 @RunWithアノテーションとは Theories.classテストを利用したテスト Parameterized.classを利用したテスト 1 @RunWithアノテーションとは @RunWithアノテーションを利用して、Runnerクラスを指定できます。 Runnerクラスとは、JUnitのorg.junit.runner.Runnerクラスで、どのようなテス
「Selenium入門その1[自動テストの概要]」 に引き続き、今回はSeleniumIDEの使い方を説明させていただきます。 「Selenium IDE」のインストール方法は 「Selenium入門その1[自動テストの概要]」の 「Selenium IDEの利用方法」 をご覧下さい。 本エントリーの内容は以下の通りです。 Selenium IDEの使い方 サンプルHTMLの説明 サンプルHTMLをターゲットとした利用方法の説明 となります。 1.Selenium IDEの使い方 概要は「Selenium入門その1[自動テストの概要]」 で説明させていただきましたので、各メニューの説明を行い、その後にボタンの説明を記載させていただきます。 Selenium IDEの起動 以下の画像の赤枠部分をクリックすると起動できます。 ご利用のFirefoxのアドオンのインストール状況によりアイコンの表
ソフトウェア業界って3Kですよね・・・ アジャイル開発手法が話題に上がるようになってもう10年以上になりますが、未だに開発の現場は幸せになっていないですよね・・・ その原因は色々あるとは思いますが、その解決方法の1つとして「テストの自動化」があると考えています。 「テストの自動化」といっても色々あります。 xUnitを利用したユニットテスト Seleniumを利用したエンドツーエンドのテスト が二大巨頭であると言えます。 まあツールに関してはRFT(Rational Functional Tester)やxUnit以外のユニットテストツールも存在しますが、多くの方が納得できると思います。 本ブログでは、xUnit系のツールであるJUnitのエントリーを扱ってきました。 「JUnitプラグインと関連プロダクトの利用方法」 その流れと言っては何ですが、Webアプリケーションのエンドツーエンドの
Eclipseの「JSDT-jQuery」プラグインでJQuery(JavaScript)のコード補完が可能な環境を作成する Eclipse for JavaEE Developer等のWeb開発系のEclipseがインストールされている事を前提事項としております。 これらのEclipseには、「JSDT」(JavaScript Development Tools)が含まれており、JavaScriptエディタとして「JSDT」が利用可能です。当然JavaScriptエディタですからコード補完も可能です。 とは言え、近年ではJavaScriptでjQueryを利用しないプロジェクトはほとんどお目にかかることはないです。 しかし、「JSDT」単体ではjQueryのコード補完は行えません。 このような背景から本エントリーでは、JQueryを使ったJavaScriptのコード補完が行える環境作成の
Spring5入門[AbstractRoutingDataSourceで複数DBへの接続とトランザクション制御] 今回はSpring MVCから複数データベースに接続とトランザクション Eclipse Oxygen Update 1 (4.7.1)を利用してJUnit5の公式ガイドの内容を実践してみる。 いよいよJUnit5が本格的に利用できる環境が整ってきました。 Spring5入門[簡単なWebアプリのユニットテストをJUnit5とJMockitで作成] Spring5入門ではJUnit4とmockitを利用したSpring Spring5入門[STS(Spring Tool Suite)で簡単なWebアプリの典型的なユニットテストの実現方法] 前回は「Spring入門」で、Spring MVCを利用した簡単なWe Spring5入門[STS(Spring Tool Suite)の環境
エディタ切替 テキストボックスにエディタが表示され、次のエディタに切替 ショートカットを押すと、エディタエリアに開かれているファイル名の一覧が表示されたテキストボックスが表示され、キーを押すごとに、次のファイルが選択され、それに伴ってエディタも対応するファイルが表示されます。 このショートカットキーは、エディタが分割されている時でも、異なるウインドウに存在するエディタに切替可能です。 リストボックスにエディタが表示され、前のエディタに切替 Ctrl + F6の逆回りバージョンのショートカットです。 次のタブに切替 シンプルなエディタの切替ショートカットです。次のエディタが表示されます。 このショートカットキーは、エディタが分割されている時は、異なるウインドウに存在するエディタには移動できません。 このショートカットはエディタだけでなくビューの切替も行えます。サブウインドウ内のビューの切替も
JUnit入門その1[EclipseのJUnitプラグインの基本的な使い方]ではEclipseのJUnitプラグインの基本的な使い方を説明させていただきました。 今回はassertThatメソッドの説明をさせていただきます。 assertThatを利用するメリットと概要の説明 assertThatで利用できるMatcherと利用方法 assertThatでカスタムMatcherの利用方法 1 assertThatを利用するメリットと概要の説明 assertThatの概要 「assertThat」はJunit4.4で追加された新しいアサーションメソッドです。 これまでのアサーションメソッドは、メソッド自体がアサーション条件となっていましたが、「assertThat」では、 引数にアサーション条件を指定ことが可能です。 またdescribedAsを利用することでAssertion Error
利用する環境の作成につきましては、「Eclipseの使い方(Windows環境のEclipse4.3)」の「JDK8とEclipseのインストール」をご覧ください。 「JUnit5」に関するエントリーを作成いたしましたので、興味のある方は是非ごらんください。 「Eclipse Oxygen Update 1 (4.7.1)を利用してJUnit5の公式ガイドの内容を実践してみる。」 本エントリーの内容は以下の通りです。 JUnitとは JUnitプラグインの機能説明 JUnitプラグインの基本的な使い方 1 JUnitとは JUnitとは、Javaで開発されたプログラムにおいてユニット(単体)テストの自動化を行うためのフレームワークと、 関連するツール群の総称です。 JUnitの目的とする理念は以下の通りです。 一度作成すればすばやくテストが実行可能である。 ユニットテストが成功することで、
Windowsとは異なりMac(OS X)ではJDKの管理(インストール、アンインストール)が難しいと感じます。 本エントリーではこの方法に関して記載させていただきます。 本エントリーの内容は以下の通りです。 Java関係のインストール状況の確認方法 Java8のアンインストール方法 Java8のインストール方法 利用するJavaの切り替え方法 1 Java関係のインストール状況の確認方法 デフォルトで動作するjava、javacのバージョンの確認方法 ターミナルでjavaもしくはjavacコマンドを実行した時に動作するJDK、JREのバージョンの確認方法を説明させていただきます。 javaの確認方法 ターミナルでjava -versionを実行します。 macmini:~ user$ java -version java version "1.8.0_25" Java(TM) SE Ru
JUnit入門その3ではMockフレームワークのJMockitを利用したテスト環境の構築と使い方について記載させていただきます。 次エントリーでより実線的な利用例の説明をさせていただこうと考えております。 本エントリーの内容は以下の通りです。 Mockフレームワークがユニット(単体)テストに必要な理由 JMockitの概要と環境の構築方法の説明 JMockitの使い方の説明 1 Mockフレームワークがユニット(単体)テストに必要な理由 スタブとドライバとMockオブジェクトの違い まずは、ドライバとスタブとMockオブジェクトの違いを明確にさせていただきます。 各用語の説明に用いる基本のシーケンス図は以下の通りです。 シーケンス図1 見たまんまですが、クラスAからクラスBのメソッド1を呼び出し、クラスBからクラスCのメソッド2とメソッド3を呼び出しています。 ドライバの説明 呼び出し先の
Eclipse4.4.0よりJDK8を正式サポートするそうです。 Eclipseトップレベルプロジェクトは3月18日(米国時間)、「Official Eclipse Support for Java 8」においてJava 8のオフィシャルサポートを開始したと伝えた。「4.4.0 Integration Build: I20140318-0830」よりすべてのLuna (4.4)ビルドがJava 8サポート機能を含むことになる。 とはいえ、4.4はRC3が2014年5月28日の20:00(米国時間)にリリースされた状態であり、 それほど遠くない未来に「Eclipse 4.4.0」がリリースされることは間違いないのですが、 いつになるかは不明なので、とりあえず4.3をターゲットとしておき、 4.4リリース後に、各エントリーで4.3、4.4の画面を並記する形にしようと思います。 と言う事もあり、
java8(JDK8)の新機能[大幅に強化されたコレクションAPI:java.util.List] をeclipseとJUnitで確認する。 Java8(JDK8)では、ラムダ式の導入を前提とした、コレクションAPIの新機能が追加されました。 本エントリーでは、このコレクションAPIの新機能(強化部分)をJUnitのユニットテストを書きながら説明をさせていただきます。 利用する環境は、Java8に対応したEclipse(4.4)となります。 java.util.Listに追加されたメソッド java.util.Listに追加されたメソッドは以下の4つです。 forEach sort replaceAll removeIf forEachメソッド 拡張for文の動作と同じです。それを以下のJUnitのユニットテストのコードで検証してみました。 package ListSample; impo
「Java 8の新機能について」では、どんな新機能があるか紹介させていただきました。 今後、少しずつですが、新機能の利用方法の説明エントリーを作成していこうと考えております。 当然、テスト駆動な流れのエントリーで、 私テスト駆動が大好きなもので・・・、好きな言葉はTDD、BDDなんですよね。 本エントリーは、それに先駆け、java8(jdk8)&Eclipseの環境を作成する内容となります。 2014年6月30日追記 Eclipse4.4 Lunaが正式リリースされたためJDT betaのインストールは不要となっています。 Mac編と題してますが、Eclipseの環境を作ったことがある方であれば、Windowsでも問題なく環境を作成できると思います。 すこし前までは、JDK 8をサポートした「e(fx)clipse」が公開されていましたが、 現在は公開されておりません。まあよくある話ですよ
このページを最初にブックマークしてみませんか?
『Small Java world』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く