JUnit5 を使う

Menu


getopts を FileWrite に付ける

    -b                   buffered write
    -u                   unbuffered write
    --size  1024         write file size
    --help, -h           show this

という option を受け付ける getops を class FileWrite に作成する。

この時に getops を static で作ると JavaをCのようにしかプログラミングできない「staticおじさん」と呼ばれてしまうので、ちゃんと static でない instance method とする。

    FileWrite fw = new FileWrite();

これらを格納する field (と、そのgetter) を用意する。


FileWrite.getopts のテストを生成する

FileWrite の class から control click で、

    Go to -> Test

を選択。getopts の test を作成する。(JUnit4 を使う)

    -b --size 1244
    -u --size 1244

で JUnit4 のtestが通ることを確認する。

        String[] args = {"-b","--size","1234"};
        fw.getopts(args);
        assertEquals(fw.getWriteSize(),1234);
        assertEquals(fw.isBuffered(),true);

などと記述する。@Test や @Before に相当する部分は自分で作る。


JUnit4 が見つからないと言われたら

File->Project Structure から Libraries を選択する。

+ボタンを押して、From Maven を選択する。

Download Library From Maven Repository から junit:junit を検索する。

apache のjunit4 を選択する。

apply/OK する。


gradle 側から test する

    gradle test

で、JUnit5 の test が通ることを確認する。

失敗するテストを挿入し、正しくテストの失敗を確認できるかどうかを調べる。

最後に mercurial に commit して push する

(gradle のversionが最新なことを確認すること)


repository に関して

repository はWebのURLでも良いが、version 番号が含めない。hostnameは省略しないで、完全なURLにする。
 .hg/hgrc の中に書いてあるはず。
 ssh://yomitan.ie.u-ryukyu.ac.jp//home/hg/y12/e125749/os/7.6
 http://ie.u-ryukyu.ac.jp/hg/y12/index.cgi/home/hg/y12/e125749/os/7.6/

repository が記述されてないレポートは受理しない。

build.gradle を hg add する。

.class などの余計なものを hg add しない。


Shinji KONO / Mon Dec 16 16:47:56 2019