c# - TDD'ing 时提取类。如何测试新提取的类?

标签 c# java unit-testing tdd

所以我的主类中有几个方法使用矩阵来设置像素打开或关闭。我的所有当前测试都在运行,因此我决定是时候提取与矩阵等相关的一些逻辑并创建一个 Matrix 类了。

我的问题是,除了我目前对我的 SUT 类进行的测试(我刚刚开始,所以我目前只有一个类,SUT 的主要类),我是否应该为它创建单元测试?如果是这样,你是怎么做到的?我的意思是,我是否让我所有的代码保持原样,通过测试优先的方法一个一个地创建单元测试,直到我看到我拥有我想要的所有功能并且只有在那里我重构我的代码?我直接创建 Matrix 类并确保旧测试仍然通过并且一切正常?

谢谢

最佳答案

基本上是后者。没有必要仅仅因为一个类被定义为一个不同的类就对其进行测试。如果您在不添加任何功能或以其他方式改变行为的情况下进行重构,那么添加测试的唯一原因是您对代码的某个部分缺乏信心。否则,代码已经在测试中,它是通过另一个类测试的事实应该无关紧要。

话虽这么说,但有时代码的结构发生了很大变化,以至于出于组织目的,您想要移动测试,这样您就可以知道这段代码实际上是从哪里进行测试的。但这与说“这是一个独立的单元,所以它必须有独立的测试”是不同的问题。

关于c# - TDD'ing 时提取类。如何测试新提取的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3402177/

相关文章:

java - 我应该把 JUnit 测试放在哪里?

使用 Retrofit2 调用 Android 单元测试 API

c# - 如何在 Silverlight 中向控件添加状态?

c# - 确定 ASP.Net Core webapp 是否在本地主机上运行

java - Mqtt Paho 客户端连接始终打开

java - 我需要从 Java 中的字符串中提取数字

java - 更改希伯来字母 iText 的书面文本方向

c# - 从 asp.net core 连接到 Oracle 数据库

c# - 能否在 ASP.NET MVC 中重载 Controller 方法?

unit-testing - PowerBuilder单元测试框架