goos 本を Mac で写経してたらはまったので解決した

goos 本の写経を Mac でやってると WindowLicker のキーボードに関するところではまるようです.

ここでも解決方法が示されていますが,WindowLicker を自前ビルドする必要があって面倒です.

少しだけましな方法が WindowLicker のソースを見ていたら発見できました.

WindowLicker がキーボード レイアウトを決定するときに System.getProperty していたのでテストのセットアップで明示的に指定するようにしました. 具体的には AuctionSniperEndToEndTest クラスに @BeforeClass を指定したセットアップ メソッドを用意するだけで OK です. 中身はこんな感じ.

public class AuctionSniperEndToEndTest {
    ...

    @BeforeClass
    public static void setupKeyboardLayout() {
        System.setProperty("com.objogate.wl.keyboard", "US");
    }

    ...
}

goos 本は,コードが変更した部分しか示されていなかったり,すっとばされていたりで,ただ読むだけだと大変です. なので読むときはぜひ写経しながら読むのがいいんじゃないかと思います.

github にあるコードは特に気にすることもなく実行できました.