【发布时间】:2018-10-28 17:21:59
【问题描述】:
其实我有两个问题,虽然有点相关:
我知道单元测试应该测试公共 API。但是,如果我有一个关闭套接字并关闭执行程序的 close 方法,但是,套接字和执行程序都不会暴露给这个 API 的用户,我应该测试这是否完成,还是只测试该方法没有错误地执行?公共 api/行为和 impl 细节之间的界限在哪里?
1234563私有方法或其他未公开的代码?或者我应该只测试公共方法,而是通过模拟执行程序来安排任务在同一个线程中执行?在后一种情况下,使用 execute() 方法将任务提交给执行程序这一事实将是一个实现细节,但测试将等待任务完成才能检查该方法及其异步部分是否正常工作。
【问题讨论】:
标签: java multithreading asynchronous testing