jcunit's blog

JCUnitの開発日誌(ログ)です。"その時点での"JCUnit作者の理解や考え、開発状況を日本語で書きます。

2015-10-01から1ヶ月間の記事一覧

Builderのフィールドは全部publicでいいのでは

Builderがクラス化された生成子なら、それは本来メソッドの中で使い捨てにされるものだろう。 ならば、フィールドをprivateにする必要はあるのだろうか? メソッド間、クラス間で本当に受け渡ししないならばprivateでもpublicでもいいのだが、受け渡しをする…

IntelliJはParameterizedテストランナーを特別扱いする

@Suiteのついたテストクラスはまとめていろんなクラスにあるテストを実行する。このいろんなクラスというのはSuiteの「子」としてJUnitに扱われる。 @Suiteとアノテーションがつけられたクラスの中のあるメソッドをIntelliJのテスト結果画面から選択すると、…

FSM/JCUnit+Selenium

これは、、、使えるぞ。

Theories runner

皆さん、JUnitのTheories runnerは使っていますか? 僕は使っていません。 可能な値の組み合わせをすべて<直積>でテストしようとするのでテストケース数が爆発してしまうのと、 一つのテストメソッドに対してそれらの組み合わせを一つのテストケースとして…

0.5.5リリース

なんとかかんとか、0.5.5をリリースした。 発端は uehaj.hatenablog.com JCUnitが持っているプリミティブ用のデフォルト値を外部から取りやすいようにするというだけのことだったのだが、プラグインのインタフェースがあんまりよろしくないから変えないと、…

JCUnitを支える技術、あるいは再帰もループも用いない順列・組み合わせ列挙のアルゴリズム

今回の話はレポートで組み合わせとか順列の列挙をするプログラムを作る課題をやってる学生さんには面白い話かもしれない。 JCUnitは内部的にcombinatoradix(旧称enumerator)と呼ばれる私が作ったライブラリを使っている。 github.com JCUnitは性質上、かなり…

Pluginインタフェースの整理

こちらのエントリでご紹介いただいたときに「デフォルトで設定されている各型ごとの水準一覧を取る手段がない」という指摘も頂いた。 uehaj.hatenablog.com それ自体は、なんとかなりそうで、難しいものでもないのでこんなチケットを作った。 github.com で…

DefaultLevelsProvider

ダメだコイツ。解体しないと。 つうかLevelsProviderのインタフェース自体を見直さないと。

ConstraintManagerとIPO2TupleGenerator

IPOはテストケース(Tuple)内の因子(Factor)の水準(Level)を一個ずつ、すべての可能な組み合わせが網羅するように決めていくアルゴリズム。生成されるテストスイートは縦方向(テストケース数)と横方向(因子数)を必要に応じて交互に増加させながら成長して…

JCUnit 0.5.4リリース。

TupleGeneratorを直接取り扱いたい人々が一定数いるように見受けられるので、そのためのクラスやメソッドを整理してみた。 TupleGenerator tg = new TupleGenerator.Builder().setFactors( new Factors.Builder() .add("OS", "Windows", "Linux") .add("Brow…