(Selenium2) Webdriver に基づいて API を開発するという苦痛を経験していますが、これが私のジレンマです。
私は基本的に4つのパッケージを持っています:
com.example.qa.pageobject
com.exmaple.qa.setup
com.example.qa.test
com.example.qa.utils
にはcom.example.qa.test
、他のパッケージのクラスを「使用」するテスト クラスがあります。
私は次のテスト方法で終わっています。
@Test
public void testScenario16786() {
Login login = new Login();
login.setUp();
AddSingleDomain asd = new AddSingleDomain();
asd.addSingleDomain();
AddARecord ar = new AddARecord();
ar.AddARecordTest();
}
さて、これは Java での開発の非常に悪い例のように思えますが、これはほとんど手続き型に見えます。それを行う他の方法はありますか?他のユーザーが使用する API を設計する際に知っておく必要があるルールはありますか? これはやや古典的な問題であり、以前に解決されていると確信しています。これを解決する多くの方法を知りたいだけです。
解決策の 1 つは、Factory パターンを使用することであり、キーに基づいて特定のクラスがインスタンス化されます。これは良い方法ですが、よりエレガントな方法はありますか?