2009-09-01 143 views
4

我得测试消息的路由程序,其功能是大致如下: - 消息被发送到App - 应用程序检查消息 - 消息被转发某处的基础上,消息内容数据驱动测试

绝大多数测试用例几乎相同;生成特定类型的消息,将其加载到系统中,等待几秒钟,然后检查所需的目标以确保消息正确转发。

不是在黄瓜中生成100个几乎相同的测试用例,而是建议生成一个测试用例并重复遍历所有(message,required_destination)元组?为了便于维护,我宁愿将这些元组维护到YAML文件而不是数据库中,但两种解决方案都可以。

回答

5

你应该尝试方案大纲使用例子

普通场景

Scenario: Login 
    Given I am on login page 
    When I enter username "Jonas" and password "secrect" and press login 
    Then I get redirected to "Jonas Home Page" 

方案大纲

Scenario Outline: Login 
    Given I am on login page 
    When I enter username <username> and password <password> and press login 
    Then I get redirected to <redirect_page> 

Examples: 
    | username | password | redirect_page  | 
    | "Jonas" | "secret" | "Jonas Home Page" | 
    | "Anna" | "Data" | "Annas Home Page" | 

阅读更多: https://github.com/cucumber/cucumber/wiki/Scenario-Outlines

0

我没有这种黄瓜的情况,但我使用管道分隔的文件,在规格海量数据的测试,希望这将有助于:

你可以找到例子here in description of DamerauLevenshteinModhere in read_test_file

我不看看为什么同样的方法也不能用于黄瓜。

+0

Thanks Dimus。我可以想到一些可能的方法 - 就此而言,让代码遍历我的YAML文件,并为每种消息类型编写一个新的Cucumber场景将会很好 - 但我主要想知道是否有黄瓜“本土”或“推荐”的方式来实现它。 – monch1962 2009-09-01 00:44:11