2014-12-03 57 views
1

我希望将不同数量的记录保存到数据库以进行不同的测试。一次测试的目的是查看数据库中只有一条记录的方法行为,而另一条可能是查看该方法如何处理十条记录。我知道灯具是将数据加载到测试数据库的首选方式,但据我所知,灯具是静态的,不能用于特定测试。因此,我在一些测试中使用CRUD操作。大多数这些测试都是从删除被测表中的所有记录开始,然后添加适合特定测试的记录。在单元测试中正确使用CRUD操作

依赖于CRUD操作并且不使用Fixture数据的测试放在我的测试结束,所以它们不会干扰使用Fixtures的测试。我是新来的测试在Rails中,并想知道是否绕过Fixtures并在单元测试中使用CRUD操作是一种好的/不好的做法?

回答

1

你会看到从使用灯具到工厂到PORO(“普通旧式Ruby对象”)的各种答案,但是我认为一般情况下,你想在工作时尽可能地减少或消除数据库交互单元测试级别,而更多的用于集成或验收测试。

在进行单元测试时,考虑输入和输出以及每个“测试单元”发送/接收信息的方式可能会有帮助。

在这个主题上有很多书籍,文章和帖子,但最终我会推荐实用性和理想世界观之间的平衡。

您可能会发现这个有趣的:

https://www.youtube.com/watch?v=qPfQM4w4I04

+1

视频帮了不少忙。非常感谢你! – Steve 2014-12-03 04:04:52