5

我们有一个独立的测试自动化团队,只负责自动化 watir+cucumber 功能测试用例。他们的代码库没有附加到其他开发人员正在开发的 rails 应用程序,而是保持独立。到目前为止,我们已经自动化了几个测试用例,现在我们遇到的问题是,一些(watir/cucumber 规范)测试用例需要一些数据预先存在于数据库中,所以它(测试用例)应该只关注问题 stmt,而不是创建任何数据要求本身。

例如,如果它必须检查评级是否对帖子有效,它要求帖子对象应该预先存在并且它只检查评级。并且不创建第一个帖子对象,然后检查其评级。

这里最好的方法是什么?就像我们有用于轨道单元测试的固定装置和工厂女孩一样,黄瓜规格有什么?或者我们应该只在这里使用特性吗?这些测试人员可能不知道所有存在的模型,他们是否知道它们以便通过调用 Rails-Model 接口来使用固定装置。

我的想法是,当我们编写功能文件时,它不应该指向或谈论任何看起来像元数据的模型。Watir/specs 测试用例应该只知道“Web-application”/browser 只是作为与应用程序交谈/处理的接口。他们不应该知道任何其他接口(夹具/模型)。因此,他们应该通过使用他们知道的单一界面自己创建自己的数据。

同样,我想知道的是,是否有任何 ruby​​ 库/代码,给定表名、列名和值(都最像fixture yml),以及 db 参数。它只会将它们插入到数据库中,而不需要 Rails 环境的上下文。因此,那些将环境与 Rails Web 开发人员隔离的测试人员能够独立工作。Rails 固定装置或工厂女孩似乎与 Rails 很好地结合在一起。还是我不正确?

4

2 回答 2

1

就像 Chirantan 说的,你可以用 Factory girl 和黄瓜。由于需要您的工厂在测试单元或 RSpec 中,您可以在黄瓜的 env.rb 文件或任何自定义配置文件中执行相同的操作。

http://robots.thoughtbot.com/post/284805810/gimme-three-steps

http://www.claytonlz.com/2010/03/zero-to-tested-with-cucumber-and-factory-girl/

http://www.andhapp.com/blog/2009/11/07/using-factory_girl-with-cucumber/

于 2012-10-31T17:38:59.693 回答
-1

使用 cucumber 时,Given 语句设置了测试情况:

Given I have a basic user with a password

当语句触发测试:

When the user logs in

然后语句检查测试结果

Then they see the basic menu

数据在 Given 语句中加载。

于 2012-11-08T22:02:57.393 回答