Java “代码编写技术和最佳实践”;下拉框“;调试?
假设我正在开发一个软件,它必须通过Web平台的API检索大量数据,并且API调用每天都是有限的 软件必须:Java “代码编写技术和最佳实践”;下拉框“;调试?,java,debugging,Java,Debugging,假设我正在开发一个软件,它必须通过Web平台的API检索大量数据,并且API调用每天都是有限的 软件必须: 使用1000个API请求从平台下载记录(限制为5000) 比较SQL数据库中下载的记录 使用API更新webplatform,例如发出其他1000个请求 当我在调试时,我不能每次发现bug都重新运行软件,否则我一天只能测试两三次 假设我有检索所有记录以进行测试(例如,我无法导出下载的内容并在下次运行时导入并保存API请求),我希望在不丢失会话期间下载的记录的情况下调试软件一次,并且不停
- 使用1000个API请求从平台下载记录(限制为5000)
- 比较SQL数据库中下载的记录
- 使用API更新webplatform,例如发出其他1000个请求
Comparator
类中存在任何问题,我可以在该类中进行所需的所有修改,重新编译它,删除帧(在本例中)Comparator.compareRecords()
和“后退”在上一个类main类
中,不丢失通过API下载的记录,然后进入比较器类的重新编译版本
这是可行的,但结果是有一个非常大的类,只是为了调试,最后,我将不得不将所有的类连接在一起
有更好的方法吗?
--
编辑:我使用Intellij IDEA
我会模拟API或使用虚拟数据设置测试服务器,这样我就不必经历所有这些。这是标准实践,虽然可能无法解决所有问题,但它实际上会让您完成大量工作。我还将避免执行整个应用程序来调试比较器。编写单元测试。
public class MainClass {
public static void main(String args[]){
// ...
ArrayList<HashMap<String, String>> records = MyApiHandler.getRecords();
Comparator.compareRecords(records); // breakpoint here
}
}
public class Comparator {
public static void compareRecords(ArrayList<HashMap<String, String>> records){
// ... after comparation, I have a "Result result"
UploadResults.uploadResults(result); // breakpoint here
}
}
public class UploadResults {
public static void uploadResults(Result result){
// ...
MyApiHandler.updateRecords(result); // breakpoint here
}
}