我是 TDD 的新手,我遇到了一个问题。据我所知,TDD 中的所有测试都应该在生产代码准备好之前失败。我开发了以下代码:
汽车界面:
public interface CarOperations{
/**
* Return current car speed in km/h
*/
public int currentSpeed();
}
汽车类:
public class Car implements CarOperations{
@Override
public int currentSpeed() {
// TODO Auto-generated method stub
return 0;
}}
JUnit 测试:
@Test
public void testInitSpeed() {
Car car = new Car();
assertEquals(0, car.currentSpeed());
}
所以我预计这个测试会失败,因为在我开发任何生产代码之前每个 TDD 测试都应该失败,但是由于 int 默认值这个测试会通过。我可以将方法的返回类型更改为 Integer 并接收 NULL 值,但我想知道在这种情况下如何处理原语?也许我的测试有误?
最佳答案
我认为这种微不足道的情况不是问题,因为很明显,如果您不返回 0,测试将失败。现在您可以 return -1;
如果您确实想确认测试是否会失败。
关于java - TDD:如何创建测试初始值的测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21181327/