AssertJ を使用して単一のコンポーネントまたは JComponent をテストする方法の例はありますか?
入門ガイドには、メイン クラスを使用してアプリケーション全体をテストするための奇妙な例が示されていますが、これは十分に細分化されていません。最初にカスタム コンポーネントをテストする予定です。
アップデート
次のコンポーネントがあるとします。
package tests;
import javax.swing.*;
import java.awt.*;
public class JCustomPanel extends JPanel {
@Override
public void paint(Graphics g) {
super.paint(g);
g.setColor(Color.RED);
g.fillRect(0, 0, getWidth(), getHeight());
}
}
赤く見えるかどうかを確認したいと思います。何を書く?
package tests;
import org.assertj.swing.edt.FailOnThreadViolationRepaintManager;
import org.assertj.swing.fixture.JPanelFixture;
import org.assertj.swing.testing.AssertJSwingTestCaseTemplate;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
public class Test01 extends AssertJSwingTestCaseTemplate {
private JPanelFixture panel;
@BeforeClass
public static void setUpOnce() {
FailOnThreadViolationRepaintManager.install();
}
@Before
public void setUp() {
panel = new JPanelFixture(robot(), new JCustomPanel());
}
@Test
public void testColorIsRed() {
//what to write here?
}
}