Java中JUnit的使用和测试的思想
概要
- Reading3.1
- JUnit模块的基础使用
- Test-Driven Development(TDD)的思想
- Lab3
- 在IntelliJ中使用JUnit
- 链表的反转
- A Debugging Mystery:很有意思,涉及到java常量池、==操作符和.equal方法
- Project 1B
- 回文字符串的检测
- 首次尝试TDD(注意步鲰)
概念
Interface
Proj1b中完全没有讲Interface的概念,只讲了使用。感觉Interface有点像C语言中的函数声明,但这些函数可以有多种实现。比如Proj1b中Deque Interface就可以有两种实现:ArrayDeque与LinkedListDeque。Interface提供了给用户的接口,用户不用关心如何实现。@Override
加上是个好习惯Recursive Helper Methods
在一些本身不是递归定义的数据结构中比较常用,如数组。
一些想法
- TDD
- 先写测试
- 算法思路构建
- 写注释帮助思考
- 编写分方法
- 将只含有方法的类的实例传入函数
之前从来没遇见过。在C中我通常的做法是直接在函数内部调用其它函数,而不是通过传递函数指针的方式。 - Testing Philosophy
了解测试工具的优缺点,选择正确的测试工具- Autograder
- JUnit Tests
- Integration Testing