我想知道你们是否有任何好的阅读来考虑将什么归类为单元测试/验收/集成测试。我有以下情况,如果它应该在单元测试中,我们正在进行一些辩论:
在我们的数据访问层中,一些语句使用sql,例如“select * from id where id('x','y'),其中IN语句是根据输入动态生成的。最近我们发现了我们的Oracle数据库在IN语句中限制了1000个变量。
我个人认为这不是一个单元测试场景。我们测试sql是否在单元测试中对数据库起作用,以及逻辑是否正确。但是,压力测试应该在更高的层次上进行。
如果我们要在单元测试中使用1000个记录进行测试,我们需要每次使用大量记录填充数据库,这可能效率低下。
有什么建议吗?
答案 0 :(得分:3)
关于您的特定示例,您实际上应该考虑对其进行2次测试:
答案 1 :(得分:2)
我认为压力测试应该作为单元测试的一部分来实现。通常,您的单元测试应包含
如果您不希望每次运行其他测试时都运行压力测试,则可以考虑将压力测试分组到单独的文本夹具中。
答案 2 :(得分:2)
单元测试应测试并指定被测单元的功能。在这种情况下,您正在测试数据库,而不是单元,所以我认为这个测试实际上是一个单元测试。
一个单元应该独立于它正在使用的数据库,如果你正在测试一个单元与特定数据库交互的方式,那么它对我来说似乎是一个集成测试