SpecFlow小黄瓜

时间:2015-07-01 05:42:29

标签: specflow gherkin

我正在尝试为系统的不同帧速率多次运行* .feature文件。

此帧速率设置是一次性任务,需要在测试执行的乞讨时进行。这需要在后台。稍后的场景将针对不同的配置执行。

以下是我为背景撰写的代码。

背景:

Given I have loaded the system configuration
And I change framerate to <framerate>
And I do "Online" download to system
And the system should be equal

需要使用不同的帧速率执行整个要素文件。

现在我想将此帧速率作为背景中的参数传递。

你能不能让我知道&#34; framerate&#34;可以作为背景中不同值的参数传递吗?

1 个答案:

答案 0 :(得分:0)

你真的需要帧率在场景背景中明确吗?

您可以编写一个脚本,用后台更新.feature,调用specflow的代码生成器(每次在Visual Studio中保存文件时运行的代码生成器),编译并运行测试。这基本上在编译时锁定帧速率。

您可以改为更改功能背景

$scope.fbFriends = [{"id":1234,"name":'bob'},
        {"id":4567,"name":'john'},
        {"id":8910,"name":'totoro'}];
      $scope.appFriends = [{"id":1,"name":'bob',"fb_id":1234},
        {"id":2,"name":'john',"fb_id":4567}];

      for (var i=0; i < $scope.appFriends.length; i++) {
        // we parse the 'reference array'
        for (var j=0; j < $scope.fbFriends.length; j++) {
          // we check every value inside the 'container array'
          if ($scope.fbFriends[j].id == $scope.appFriends[i].fb_id) {

            // the element is alredy inside the appFriends

            $scope.fbFriends.splice(j,1);
          }
        }
      }

      console.log($scope.fbFriends);

以便在运行时拉入帧速率

Background:
Given I have loaded the system configuration
And I change the framerate 
And I do "Online" download to system
And the system should be equal

这样可以更容易地改变测试之间的帧速率。