我是TDD新手,遇到问题。据我所知,在生产代码准备就绪之前,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值,但是我想知道在这种情况下如何处理基元?也许我的测试是错误的?
相关:http://programmers.stackexchange.com/questions/224365/in-tdd-is-it-bad-practice-to-pass-a-test-with-code-that-would-pass-more - 对 - 在我看来,这样一个小事件不是问题 – assylias