基本上我有两个主要问题:如何进行单元测试?
- 你究竟应该测试什么?
- 你怎么做到的?
问题是我有几个应用程序依赖于数据库连接和/或通信应用程序,这意味着大多数测试用例都是集成测试(或者我认为)。
大多数类是本身非常简单,但是实现的通信协议,这是那些将是自动化测试有用的人,似乎可以很好地成为“单元测试”的模式。
另一个例子。我为消费者/生产者模式开发了带有多线程支持的I管道结构。当一个线程读取管道并发现它为空时,它会阻塞,直到写入者写入管道。我应该使用单元测试来测试这个类吗?
你如何决定单元测试?
编辑:我的意思是自动单元测试编写单元测试。
所以,即使你需要模拟其他对象或模拟外部事件或设备,它可以被认为是一个单元测试和测试应该写出来吗? – 2010-02-23 23:22:38
@Jorge Corboda是的。我想是这样。很多像运行在容器中的代码一样的环境很难单独测试。所以为测试创建模拟对象被认为是很好的做法。尽管测试代码可以独立运行,这一点很重要。 – 2010-02-23 23:55:47
虽然从技术上来说,任何在被测单元(数据库,文件系统等)之外具有依赖性的代码测试都是集成测试。但是,这两个术语可以交替使用,而且往往是相同的。 – ZombieSheep 2010-02-24 11:28:08