我在接受采访时被问到这样的问题。
基本上,问题是这样的:
您的方法如下:
public void methodToBeTested() {
//step 1 open file, if not exist create new one
//step 2 String rst = reverseStr();
//step 3 write rst to file in step 1
}
所以问题是如何编写单元测试来仅测试reverseStr逻辑,而不是每次都执行步骤1和步骤3的IO处理?
答案 0 :(得分:0)
重构您的代码:提取方法reverseStr
并将其设为pure。此方法应包含所有逻辑(将一个字符串转换为另一个字符串)。还可以将更改可见性至少打包为私有。然后你可以在你的测试中调用这个方法,而不需要处理文件