通常我的工作流程如下:
foo()
如何为这种工作流程编写单元测试?我真的很擅长测试。
无论如何,我正在使用Python 3.4。
答案 0 :(得分:0)
测试此类工作流的一种方法是使用专门的数据库进行测试。测试数据库镜像生产数据库的结构,但是否则完全为空(即表中没有数据)。例程如下
答案 1 :(得分:0)
理想情况下,单元测试不会触及数据库。数据库很慢,使用它们的测试变得相互依赖,以与测试无关的混乱方式。在您的四个步骤中,您要进行单元测试的是#3,foo()。 foo()应该有一个输入(将从数据库加载的数据,并输出(将被写回数据库的数据)。你的测试应该创建输入,完全在内存中,传递给foo( ),并确认结果是您希望foo()为该输入生成的结果。
关于未触及数据库的单元测试,请参阅Michael Feathers' definition of a unit test。