gpt4 book ai didi

java - 为装饰器模式编写junit测试的tdd步骤

转载 作者:行者123 更新时间:2023-12-01 18:33:05 25 4
gpt4 key购买 nike

Is it possible to write unit tests for below piece of functionality ?

或者,

Is it possible to develop below piece of functionality using TDD ?

public ZipInputStream getZipInputStream(File zipFile) throws FileNotFoundException {
ZipInputStream zipInputStream = new ZipInputStream(
new FileInputStream(zipFile));
return zipInputStream;
}

我知道这个问题可能听起来很愚蠢,但作为 TTD 的新手,我无法找到上述问题的任何解决方案:) 。

最佳答案

您合二为一地提出了两个问题。

Is it possible to write unit tests for below piece of functionality?

大多数人不会将此功能的测试视为“单元测试”,因为它必须与文件系统交互。因此,它更像是集成测试而不是单元测试。然而,无论可能与否,这都不是一个好主意。这里没有什么值得测试的。这个方法本身没有任何逻辑,所以测试它没有任何收获。您要测试的只是 Java API。

Is it possible to develop below piece of functionality using TDD?

使用 TDD 时,您编写的代码可以满足明确的、可测试的要求。这么小的东西不太可能有自己的要求。编写此代码的要求与处理 zip 文件中的数据有关。因此,您将编写一个方法,其功能远不止于此 - 当然,首先要为该方法编写测试。

但是,TDD 流程的第三步是重构。 (记住“红色”-“绿色”-“重构”-“红色”-“绿色”-“重构”)。您很可能最终会编写您所引用的方法;不是通过尝试使测试起作用,而是通过在重构步骤中从更大的方法中提取它。所以答案是肯定的,可以开发此功能,但很可能是在“重构”步骤中,而不是在“绿色”步骤中。

关于java - 为装饰器模式编写junit测试的tdd步骤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23260378/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com