TestNGプラグインのリスナーより順序を前で自分のリスナーを登録したい - Fight the Future じゅくのblogで困っているわけだけど、
こりゃTestNGのソースを変えないと無理かもしれないなあ。
TestNGのeclipseプラグインはTestNGクラスではなくサブクラスのRemoteTestNGクラスを使ってリモート実行してる。
そのRemoteTestNGクラスのstaticネストクラス*1がこれ。
private static class DelegatingTestRunnerFactory implements ITestRunnerFactory { public TestRunner newTestRunner(ISuite suite, XmlTest test) { TestRunner tr= m_delagateFactory.newTestRunner(suite, test); tr.addListener(new RemoteMessageSenderTestListener(suite, test, m_messageSender)); return tr; } }
TestRunner#addLisnter()で真っ先にRemoteMessageSenderTestListenerクラスをとうろくしちゃってる。
つまりリモートであるeclipseプラグインのUIが一番先に変わってしまう問題は解決できない。
んー、TestNGのリスナーに優先順位をつけれたらいいのになあ。
*1:インナークラスじゃない[http://d.hatena.ne.jp/jyukutyo/20061020/1161314906:title]