Tho*_*ock 5 .net c# tdd unit-testing
[TDD新手]
我有一辆带有颜色和品牌属性的汽车.
在TDD中测试构造函数是否设置了这些属性是否有意义?或者我等待测试(并实施)直到我需要它?
那么,我是否构建了这样的测试:
(C#)
public class CarTests
{
public void Constructor_Should_Set_Color()
{
var car = new Car("Green", "Volvo");
Assert.Equals(car.Color, "Green");
}
}
Run Code Online (Sandbox Code Playgroud)
或者我等到我有一个用例场景,例如,我必须从使用构造函数构建的列表中筛选所有绿色汽车,这将失败,因为汽车将为null作为颜色?
直接测试构造函数真的有意义吗?怎么样Equals()?
理想情况下,我认为,在您需要之前,您甚至不会拥有 Color属性.此时,您可能只使用setter,或者可以将其添加到构造函数中,或者添加新的构造函数.第二个选项使您处于具有两个(或更多)构造函数的状态 - 您可能会发现它很有用; 在许多情况下(对于测试和"常规"代码),您可能不关心汽车的颜色.而这是试驾您的设计.
它似乎取决于开发人员/开发人员团队的环境和偏好,就像是否在一个测试方法中有几个不同的断言一样.
虽然纯粹主义者可能希望接近100%的测试覆盖率,但也有开发人员只测试非平凡的东西.这两个极端之间的界限很模糊.
| 归档时间: |
|
| 查看次数: |
1790 次 |
| 最近记录: |