java - TDD:如何创建测试初始值的测试

标签 java unit-testing junit 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 值,但我想知道在这种情况下如何处理原语?也许我的测试有误?

最佳答案

我认为这种微不足道的情况不是问题,因为很明显,如果您不返回 0,测试将失败。现在您可以 return -1; 如果您确实想确认测试是否会失败。

关于java - TDD:如何创建测试初始值的测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21181327/

相关文章:

java - Junit减少控制台详细日志

java - 我想模拟一个扩展InputStream的专有类,模拟读取,验证关闭

java - 未完成的验证,在编写 JUnit 测试用例时缺少对 verify(mock) 的方法调用

java - 事件调度线程同步

junit - 从 main 方法内部启动 JUnit jupiter 测试?

java - Guava 加载缓存 : How to unit test ListenableFuture within CacheLoader

java - Hibernate - 如何仅在属性不为空时获取属性?

java - 当我将 Intellij IDEA 配置为使用 Java6 时,使用 java7 编译器进行编译

java - Joda Time - 将日历对象转换为 LocalDate

python - 如何对数据库包装器进行单元测试?