有没有办法用真实的生产数据运行黄瓜测试?

时间:2012-02-14 14:56:58

标签: ruby-on-rails tdd cucumber bdd

我一直在尝试使用黄瓜为我们的项目创建新功能,但是很难找到一种方法来针对实际数据运行测试。我必须使用Factory Girl创建所有内容的实体才能正确运行它们,我做错了吗?或黄瓜只是一步一步地做每一个流程,创建假数据?尝试牛排方法会更好吗? (Rspec的-水豚)?

如果某个项目已经运行了大量功能并且您正在为您的职责添加TDD-BDD,请告诉我是否有人遇到此问题。

1 个答案:

答案 0 :(得分:1)

FactoryGirl和其他夹具库的目的是在不依赖生产导入的情况下生成数据。从生产中导入数据以运行测试表明您正在测试的行为实际上并不是生产中发生的行为。

新功能或旧功能,如果您的行为已知,则使用黄瓜定义它。从小处开始,选择一个简单的功能并创建.feature文件。根据您所知道的正确行为定义step_definitions。然后,如果您的测试失败,则将其修复为您的应用程序代码而不是黄瓜。

确保您的步骤定义正在执行黑盒测试。他们不需要知道他们正在测试的函数的内部状态,他们只想使用已知的输入并测试结果。