pha*_*ani 48 java tdd junit unit-testing
我正在学习TDD,但很难接受它,因为它不是直截了当的.
我无法回答的问题是" 如何在任何实现代码存在之前编写测试? ".
如果我们的目标类/目标方法/目标参数类型/目标返回类型不存在,
每个人都说出为什么,但不是如何
我已经尽力找到资源,详细说明在生产代码之前编写测试但是,假设我错过了良好的资源,他们中的大多数都充满了陈词滥调,解释了为什么TTD比专注于采用它的实践更重要.
一个用例示例.
我们假设我们正在为大学开发软件,我们的用例是课程注册.
为了简单起见,让我们将这个讨论限制在内
伪代码
ENROLL(studentId, courseId)
//check if student enrolled in less than 3 courses in the same semester as given courseId belongs in.
//if yes, enroll him/her.
//if not, return an error.
Run Code Online (Sandbox Code Playgroud)
上面的实际实现可能涉及几个涉及服务,daos等的类.
请问您能解释一下如何逐步测试 - 开发它吗?如果您使用TDD实现这一点,您是如何逐步完成的.
我希望这可以帮助像我这样的许多挣扎.
Evg*_*eev 43
在与EnrollingService相同的包中的src/test/java中创建EnrollingServiceTest类
class EnrollingServiceTest {
private EnrollingService enrollingService;
@Before
public void init() {
enrollingService = new EnrollingService();
}
@Test
public void testEnroll() {
boolean result = enrollingService.enroll(1l, 1l);
assertTrue(result);
...
Run Code Online (Sandbox Code Playgroud)
IDE(我假设您正在使用IDE)显示错误 - EnrollingService不存在.
将光标指向EnrollService - IDE将提供创建类 - 让它在src/main/java中创建
现在IDE说缺少注册(长,长)方法 - 让IDE为你创建它.
现在IDE显示没有错误.运行测试 - 它失败了.转到注册并开始实施逻辑
等等...
| 归档时间: |
|
| 查看次数: |
12606 次 |
| 最近记录: |