現状では厄介なレガシープロジェクトに取り組んでいます。私が修正したものにユニットテストを追加して嬉しいです。ユニットテスト、メソッドパラメータを変更する必要があります
public abstract class AbstractYYY extends XX {
private LoginDTO selectedLogin;
private Tab tab;
private GenericJobDTO job;
@Override
public void action() throws TabException {
JobContainerDTO jobContainer = tab.getRoot().getData();
jobContainer.setUser(tab.getUsername());
jobContainer.setServer(tab.getConnectorURL());
jobContainer.setPlatform(tab.getPlatform());
jobContainer.setLoginID(selectedLogin.getId());
if (jobContainer.getApp().equals(App.TEST)) {
if (job instanceof JobDTO) {
((JobDTO) job).setLoginId(selectedLogin.getId());
((JobDTO) job).setZoneId(jobContainer.getZoneId());
}
if (job instanceof JobAutoDTO) {
((JobAutoDTO) job).setLogin(selectedLogin.getId());
if(selectedLogin.getConnector() != null){
((JobAutoDTO) job).setConnectorId(selectedLogin.getConnector().getId());
}
}
}
if (jobContainer.getStatus() != 1) {
jobContainer.setLastRunStartTime(0);
jobContainer.setLastRunEndTime(0);
jobContainer.setLog("");
}
job.setId(UUID.randomUUID().toString());
jobContainer.setJobXYZasJSON(job.toJson());
jobContainer.setWorker(job.getWorker());
jobContainer.setId(savedID);
if (jobController != null) {
jobController.action();
}
}
.
.
.
.
}
私は私の
jobContainer
が満たされているかをテストしたいと思いますので、私は
JobContainerDTO setContainerInfo(JobContainerDTO jobContainer、タブタブ...)
のようなメソッドを作成した。しかし、それは私が「という意味
パラメータjobContainer
を修正する必要がありますが、これは良い考えではありません。
このメソッドをどのようにテストしますか?
アクションメソッドまたは特定の部分からすべてをテストしますか?どの部分? –
理想的には、私はjobContainerと仕事を満たしたより小さなメソッドを書くことができるようにしたいと思います。アクションメソッドをテストすることができます – Seb
はタブ、selectedLogin、savedID ..インスタンス変数ですか? –