2010-10-26 59 views
0

我想将类似YML的配置数据传递给黄瓜的场景。如何将类似YML的数据结构传递给黄瓜场景?

例如:

category: 
    subcategory: 
    name: whay 

如何做到这一点?感谢

+0

您是否正在尝试配置您正在使用YML测试的应用程序?即你有一些你想用黄瓜步骤调用的方法configureMyApp(yml)吗? – Clinton 2010-10-26 06:45:01

+0

是的!这是我的意思:) – why 2010-10-26 08:47:12

回答

1

经过测试驱动的方式,考虑你的应用程序逻辑分离YML解析逻辑,喜欢的东西:

def my_app_logic(my_hash) 
    # app logic goes here 
end 

def my_yml_parsing_logic 
    # load a file, or get a yml string 
    # parse it and return a hash 
end 

,那么你会编写单元测试来检查YML的分析逻辑和它的所有边缘案例。你也可以为应用逻辑编写单元测试,而不必担心yml。

为了您黄瓜的测试,考虑嘲笑了(或者使用一个工厂来创建)进行测试好的哈希,并在你的步骤定义使用这个散列值,这样你就可以有一个像步:

When I run my app logic on a hash with 5 categories 

或者像那样简单的东西。

+0

谢谢!很不错的一点!我想知道是否有太多的嘲笑,黄瓜测试是否有意义? – why 2010-10-28 02:21:38

+0

我使用黄瓜测试进行功能和集成测试,因此从定义和测试高级功能的角度来看它是有意义的。我喜欢使用BDD的故事让我将注意力集中在我的开发工作中,并确保我已定义并运行了核心功能,因此从这个意义上讲,我将创建出良好的数据来表示典型的用例。我非常喜欢工厂女孩,因为它允许我使用rspec和黄瓜的相同工厂。 – 2010-10-28 02:58:26