আমার তিনটি ক্লাস রয়েছে যা একে অপরের সাথে বিজ্ঞপ্তিযুক্ত:
টেস্টএকসিকিউটার টেস্টসেনারিওর অনুরোধগুলি কার্যকর করে এবং প্রতিবেদন ফাইলটি জেনারেটর ক্লাস ব্যবহার করে সংরক্ষণ করে। তাই:
- প্রতিবেদন উত্পন্ন করতে টেস্টএক্সেকিউটার নির্ভর করে রিপোর্টিজেনেটরের উপর
- রিপোর্টজেনারেটর টেস্টসেনারিও এবং টেস্টেক্সেকিউটার থেকে সেট করা পরামিতিগুলির উপর নির্ভর করে।
- টেস্টসেনারিও টেস্টএক্সেকটারের উপর নির্ভর করে।
কীভাবে এর নির্ভরতাগুলি সরিয়ে ফেলা যায় তা অনুমান করতে পারছি না।
public class TestExecuter {
ReportGenerator reportGenerator;
public void getReportGenerator() {
reportGenerator = ReportGenerator.getInstance();
reportGenerator.setParams(this.params);
/* this.params several parameters from TestExecuter class example this.owner */
}
public void setTestScenario (TestScenario ts) {
reportGenerator.setTestScenario(ts);
}
public void saveReport() {
reportGenerator.saveReport();
}
public void executeRequest() {
/* do things */
}
}
public class ReportGenerator{
public static ReportGenerator getInstance(){}
public void setParams(String params){}
public void setTestScenario (TestScenario ts){}
public void saveReport(){}
}
public class TestScenario {
TestExecuter testExecuter;
public TestScenario(TestExecuter te) {
this.testExecuter=te;
}
public void execute() {
testExecuter.executeRequest();
}
}
public class Main {
public static void main(String [] args) {
TestExecuter te = new TestExecuter();
TestScenario ts = new TestScenario(te);
ts.execute();
te.getReportGenerator();
te.setTestScenario(ts);
te.saveReport()
}
}
সম্পাদনা: উত্তরের উত্তরে আমার টেস্টসেনারিও ক্লাস সম্পর্কে আরও বিশদ:
public class TestScenario {
private LinkedList<Test> testList;
TestExecuter testExecuter;
public TestScenario(TestExecuter te) {
this.testExecuter=te;
}
public void execute() {
for (Test test: testList) {
testExecuter.executeRequest(test);
}
}
}
public class Test {
private String testName;
private String testResult;
}
public class ReportData {
/*shall have all information of the TestScenario including the list of Test */
}
দুটি পরীক্ষা থাকা দৃশ্যের ক্ষেত্রে তৈরি হওয়া এক্সএমএল ফাইলের একটি উদাহরণ:
<testScenario name="scenario1">
<test name="test1">
<result>false</result>
</test>
<test name="test1">
<result>true</result>
</test>
</testScenario >
File(filename).write(Report); Report = XMLResult(ResultData).toString(); ResultData = TestSuite(SingleTestLogic).execute(TestDataIterator(TestDetailsList))