testng的坑

模拟和桩

如果再测试系统某一部分,必须装入整个系统,那么单元测试就不是很好的单元测试。需要提供最少的依赖,这样测试的效果才会好。我们需要使用桩或者模拟对象

testng的坑

如果此处任务为测试UserManager对象

我们不会提供完整的UserDao和mailer,负担太重

传入简单的实现,尽可能简单实现与UserManager契约,实现类如下:

testng的坑


如果有其他的测试来验证UserDao实现,此处只提供一个桩实现,总是返回TRUE

对于Mailer桩实现,我们也做类似的事情,我们记录下发出的电子邮件,因为将来可能会查询这个桩实现,验证它被调用过,并且电子邮件送给了正确的人。

testng的坑