有没有办法在单元测试中删除测试用例插入的行?
通常,如果密钥是自动增量密钥,我必须存储插入测试用例的行的ID,这样我就可以在拆除阶段删除它们。
但是,有时测试用例崩溃或抛出一个意外错误,其中没有发生茶降阶段(在我的情况下,这是PHP的致命异常错误)。在这种情况下,我在删除那些新创建的行时遇到问题。
我考虑过分配一大块ID用于测试,例如1到100;但由于插入行的代码使用自动递增键,我无法强制代码使用为测试保留的ID。
有没有什么方法可以“标记”一行作为“测试”,以便我可以在测试用例之外轻松清理它们以防它崩溃?
我正在使用PHP,SimpleTest和MySQL
答案 0 :(得分:0)
通常的做法是使用一个特殊的空白数据库进行测试。然后在setUp()
中填写测试数据,并在tearDown()
中清理所有内容。
更确切地说:声明一些cleanDatabase()
方法,并在设置和拆解的2个位置调用它。