我得到了一个只有方法标题和签名的课程作业,没有正文。
我的一个要求是通过为每种方法编写Junit测试来使用测试驱动开发过程。
根据我对TDD单元测试的理解,你想首先编写FAIL测试,然后实现通过测试的代码。
但是,这是否意味着一旦你创建了失败的测试,你就不能再修改那些测试,而只修改代码以使测试通过?
我问这个,因为如果我编写一个导致编译错误的测试会发生什么?
例如,在代码中,有一个构造函数,其中3个参数为空体,即没有变量初始化。
我想为包含不同数据类型的构造函数编写测试,然后在参数中使其失败。但这会导致编译错误,因此,当我实现代码并初始化变量时,由于数据类型不正确,测试将失败。
在这种情况下,JUnit测试如何在TDD方面起作用?
谢谢!
答案 0 :(得分:1)
我是TDD的忠实拥护者,但我相信编写一个不编译的测试并不能提供太多价值。
我做TDD的方式如下:
接下来,您可以在同一个测试中添加额外的验证,或者针对相同的方法或下一个方法编写新的测试。
在单元测试中,您可以在单个测试中验证多个内容,但是您不应多次调用测试中的方法。即。如果测试中的方法执行5个可验证的操作,则可以在不多次调用该方法的情况下验证同一测试中的所有操作。
答案 1 :(得分:0)
测试应该测试代码的功能。例如。 Calculater.sum(a,b)计算总和。它不应该测试Java语言(例如构造函数匹配,存在方法,......)