JUnitテストの実行環境をバージョンアップする時の落とし穴 #tddadventjp

これはTDD Advent Calendar jp: 2012参加記事です。前日(8日目)は、KTZさんの「Rhino.Mocksをちょっとだけ幸せにするお助けクラス」でした。xUnitによるテスティングフレームワークの共通仕様として、「テストクラス内のテストの実行順序は不定」というの…

Java7でCobertureが動かなかったら

Java7でCobetureでカバレッジ取ろうとすると、テスト走らせるところで java.lang.VerifyError: Expecting a stackmap frame at branch target 76 in method jp.xxxxx.xx.xxx.xxxxxx.SessionData.getData(Ljava/lang/String;)Ljava/io/Serializable; at offse…

#tddbc の作り方( #TddAdventJp )

TDD Advent Calendar jp: 2011の先頭バッターであるこのエントリでは、先日開催したTDDBC横浜での経験をもとに、みなさんがTDDBCを開催することになった場合に、気をつけるといいことを書きたいと思います。 宣言 まずは「やります!」と宣言することからは…

TDD Boot Camp ( #tddbc )横浜を開催しました。

11/5、TDDについての実践イベントTDD Boot Camp 横浜を開催しました。色々至らない点がございましたが、スタッフの皆様のご協力で無事終わらせることができました。当日の内容については、すでにTDD Boot Camp(TDDBC) - TDDBC横浜/記録にまとめられています…

地道に便利なEclipse 3.6のデバッガ機能拡張〜例外ブレークポイントのサブクラス指定

Eclipseのデバッガには例外をスローしたときにブレークする例外ブレークポイントという機能があり、例外発生時のオブジェクトの状態を詳しく見たい場合などは重宝します。ただ例外のクラスそのものずばりを指定する必要があり、JDBCのようにインターフェース…

Ruby以外のOSS開発者の視点から見るWEBrick脆弱性問題

著作権を主張しないつもりなんだったらそれを明示的に宣言して欲しい。ライセンスが明示されていないのは、どんなライセンスよりも厳しいライセンスだ。 もちろん、Rubyの開発コミュニティの判断として、ライセンスが不明なパッチは取り込めないという判断を…

【妄想】S2Dao1.2.x

generics や可変長配列など,Java5 以降らしい API を 備えた Seasar2 が欲しいという意見があるようです. そこで,・Seasar2.5 として開発するか? ・開発するならどこまでやるか?といった点についてご意見ください 上記を受けて、この(仮称)Sesar2.5に対…

補足

こちらはid:yachさんから。 Pythonでは呼ばれた。へ〜。 RT @setoazusa: try?finallyの中にSystem#exit書いた場合ってfinallyは呼ばれるのかね。 言語によるのですね。

System#exitにまつわるあれこれ

try〜finallyの中にSystem#exit書いた場合ってfinallyは呼ばれるのかね。 結論から言うと、以下のテストケースを流せばわかるのですが、呼ばれません。*1 @Test public void testname() throws Exception { try { System.exit(0); } finally { System.out.pr…

googleでVSSがdisられてる件

googleでVSSでぐぐったら、スポンサーリンクに吹いた。大体全言語で検索してるのにトップがid:Isoparametric のはてダなのもどうかと思う。

Diコンテナ使ってなくてもDIの考え方は有効だよ、という話

SeasarやSpring などのDIコンテナを使っていなくてもDIの考え方は有効です。 例えば、 public void calclateSalary(){ List<Emp> empList = dao.getEmp("本社"); for (Emp emp : empList) { if (emp.getLevel(10)){ 〜なんだかかんだか〜 } else if (〜){ 〜ああ</emp>…

イケメンスーツのためのポリモフィーズム講座

「インスタンス生成の部分のコードでは結局ifやswitchがあるじゃん」っていうお悩みに対して、どう考えればよいのだろう? これは、「if 文を書かないでも条件分岐できる」ということを知ると、視野が広がります。 例えば、 private Map<Integer,Class<? extends AbstractDataReader>> readerMap; { reade</integer,class<?>…

S2Dao-CodeGen 0.4.1をリリースしました。

前バージョンからの修正は、以下の通りです。 [DAOCODEGEN-80] - Jiemamyから入力したときに、カラムの論理名が設定されてないと、org.seasar.buri.common.util.template.exception.TemplateRuntimeExceptionが発生する問題を修正しました。 [DAOCODEGEN-81]…

S2Dao-CodeGen 0.4.0 RC2をリリースしました。

Bug [DAOCODEGEN-64] - org.seasar.codegen.lib.DateConditionElementのJavaDocの記述が誤っている問題を修正しました。 [DAOCODEGEN-65] - S2Dao-Tigerのフェッチ機能が動作しない問題を修正しました。 [DAOCODEGEN-70] - codegen-libのテスト実行時に、ロ…

<sequenceMapping> <EMP_TABLE>empNo</EMP_TABLE> </sequenceMapping>

ちょっと失礼

<component class="org.seasar.codegen.impl.CodeGenConfigImpl" > <property name="headerTemplatePath">"test/header.txt"</property> <property name="versionNoPropertyName">"versionno"</property> <property name="outputAllDaoDicon">true</property> <property name="outputDDL">true</property> </component>

S2Dao 1.0.51をリリースしました。

変更点 Bug [DAO-151] - MySQL用のページング機能(MySQLLimitOffsetPagingSqlRewriter)がバインド変数をもつSQLを考慮していない問題に対応しました。 [DAO-154] - org.seasar.dao.impl.ObjectResultSetHandlerにおいて、実際に使用しているクラスと違うク…

Seasarプロジェクトのプロダクトはバージョン番号の付け方についてポリシーが統一できてない

というのはよく言われることなのですが....*1S2Dao-CodeGenもちょっと今回はやらかした感がありますね、RCに機能追加しちゃってる^^;betaが適当でしたね...ともあれ、S2Dao-CodeGenのバージョニングについては、以下のように考えています。 マイナーバージョ…

業務連絡

次回リリースから「返り値が1件のメソッドで、SQLの実行結果が2件以上の場合」は例外をスローするようになります。 この対応のため、S2Dao 1.0.51 が必要になります。 次回か次々回までに、Maven2での生成で実スキーマからのリバースをサポートするようにな…

今日の進捗

今日は、以下の作業を片付けました。 [DAOCODEGEN-64] org.seasar.codegen.lib.DateConditionElementの JavaDocの記述が誤っている問題を修正しました。 id:jfluteさんどうもです。 [DAOCODEGEN-65]S2Dao-Tigerのフェッチ機能が動作しない問題を修正しました…

S2Dao-CodeGen 0.4.0 RC1をリリースしました。

S2Dao向けコード生成ツールS2Dao-CodeGenの0.4.0 RC1をリリースしました。http://s2dao-codegen.sandbox.seasar.org/docs/見てください、このリリースノートの項目の数(汗) Bug (DAOCODEGEN-44) - 主キーがjava.lang以外のパッケージになるクラスがあると、D…

ラストスパート

EmpTableCondition condition = new EmpTableCondition(); condition.selectEmpNo().more(7500); List<EmpTable> result = dao.find(condition); EmpTableRelationCondition conditon = new EmpTableRelationCondition(); conditon.selectEmpNo().addOrderAsc(); condi</emptable>…

ドキュメント進捗

今日は、Excelテーブル定義書のリファレンスを書きました。http://s2dao-codegen.sandbox.seasar.org/docs/howto_excel.htmlあ、あと一つ...

ドキュメント進捗

今日は、antで生成する場合のCodeGen.diconについて記述しました。http://s2dao-codegen.sandbox.seasar.org/docs/howto_codegendicon.htmlあとはExcelテーブル定義書設定リファレンスと検索条件(Condition)クラス使用方法リファレンス。大物が残ってますが…

毎度のことながら

<components> <include path="j2ee.dicon"/> <include path="internal.dicon"/> <component name="path" class="org.seasar.codegen.ant.DirectoryList" > </component></include></include></components>

ドキュメント進捗

今日は、pom.xmlの設定リファレンスを書きました。http://s2dao-codegen.sandbox.seasar.org/docs/howto_pom.html

ドキュメント進捗

今日は、生成したソースを動かす方法について書きました。http://s2dao-codegen.sandbox.seasar.org/docs/howto_running.html

XMLをHTMLに貼り付けるときにエスケープが面倒だったのでここ使いますね^^;

<repositories> <repository> <id>maven.seasar.org</id> <name>The Seasar Foundation Maven2 Repository</name> <url>http://maven.seasar.org/maven2</url> </repository> <repository> <id>maven.snapshot.seasar.org</id> <name>The Seasar Foundation Maven2 Repository(snapsh…</name></repository></repositories>

ドキュメント進捗

今日は、ドキュメントの雛形とコード生成方法についてドキュメントを書きました。 http://s2dao-codegen.sandbox.seasar.org/docs/ http://s2dao-codegen.sandbox.seasar.org/docs/howto_generate.htmlソースの方も色々いじりたいところはあるのですが、ドキ…

codegen-libのJavaDocを公開しました。

S2Dao-CodeGenで生成したソースを実行する際に必要なライブラリ、codegen-libのJavaDocを公開しました。http://s2dao-codegen.sandbox.seasar.org/apidocs/リリースに向けて、ドキュメントも整備していきます!