在单元测试中使用自动增量键删除测试行

时间:2010-11-12 04:43:42

标签: php mysql unit-testing

有没有办法在单元测试中删除测试用例插入的行?

通常,如果密钥是自动增量密钥,我必须存储插入测试用例的行的ID,这样我就可以在拆除阶段删除它们。

但是,有时测试用例崩溃或抛出一个意外错误,其中没有发生茶降阶段(在我的情况下,这是PHP的致命异常错误)。在这种情况下,我在删除那些新创建的行时遇到问题。

我考虑过分配一大块ID用于测试,例如1到100;但由于插入行的代码使用自动递增键,我无法强制代码使用为测试保留的ID。

有没有什么方法可以“标记”一行作为“测试”,以便我可以在测试用例之外轻松清理它们以防它崩溃?

我正在使用PHP,SimpleTest和MySQL

1 个答案:

答案 0 :(得分:0)

通常的做法是使用一个特殊的空白数据库进行测试。然后在setUp()中填写测试数据,并在tearDown()中清理所有内容。

更确切地说:声明一些cleanDatabase()方法,并在设置和拆解的2个位置调用它。