JUNIT跳过IO处理并仅验证逻辑

时间:2015-09-22 21:44:40

标签: unit-testing junit

我在接受采访时被问到这样的问题。

基本上,问题是这样的:

您的方法如下:

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处理?

1 个答案:

答案 0 :(得分:0)

重构您的代码:提取方法reverseStr并将其设为pure。此方法应包含所有逻辑(将一个字符串转换为另一个字符串)。还可以将更改可见性至少打包为私有。然后你可以在你的测试中调用这个方法,而不需要处理文件