很多人谈论在开始编写代码之前为代码编写测试.这种做法通常称为测试驱动开发或简称TDD.通过这种方式编写软件可以获得哪些好处?我如何开始这种做法?
我即将开始我的第一个TDD(测试驱动开发)程序,我(自然)有一个TDD心理障碍.所以我想知道是否有人可以帮助指导我应该从哪里开始.
我正在创建一个函数,它将从套接字读取二进制数据并将其数据解析为类对象.
据我所知,有3个部分:
1)解析数据的逻辑2)套接字类3)类对象
我应该采取哪些步骤以便逐步增加TDD?我绝对计划在实现该功能之前先编写测试.
我已经运行 EclEmma 来覆盖我的 JUnit 测试用例,并且在某些方面达到了 100%。但是,对于覆盖 82% 或 95% 的那些,我的代码旁边有一条消息说“错过了 2 个分支中的 1 个”,我似乎无法解决这个问题。
查看我的课程后,我注意到这条消息只出现在我的 if 语句旁边,这就是让我的测试无法 100% 覆盖的原因。
我想我在问是否有人知道如何在 JUnit 中测试 if 语句,以便不会错过任何一个分支。
这是我要测试的代码:
private double height;
public void setHeight(double height){
if(height <=0){
this.height = 0;
}
else{
this.height = height;
}
}//method close
Run Code Online (Sandbox Code Playgroud)
(我正在使用 JUnit 4)