Как реализовать параллельное выполнение с помощью Specrun для NUnit

Я установил следующие NuGets: Specflow.Nunit, specflow, Specrun.Nunit вместе с NUnit 2.6.3. Я пытаюсь запустить runtests.cmd (автоматически создается specrun.nunit), но получаю следующую ошибку:

TechTalk.SpecRun.Framework.SpecRunException: как минимум один тестовый поток прерван. ---> System.Reflection.TargetInvocationException: исключение было создано целью вызова. ---> System.MissingMethodException: метод не найден: 'Void TechTalk.SpecRun.SpecRunner.Initialize ()'. Мой default.srprofile содержит:

  <?xml version="1.0" encoding="utf-8"?>
    <TestProfile xmlns="http://www.specrun.com/schemas/2011/09/TestProfile">
      <Settings projectName="<PROJECTNAME>" projectId="{------}" />
      <Execution stopAfterFailures="3" testThreadCount="2" testSchedulingMode="Sequential" />
      <!-- For collecting by a SpecRun server update and enable the following element. For using the 
          collected statistics, set testSchedulingMode="Adaptive" attribute on the <Execution> element.
        <Server serverUrl="http://specrunserver:6365" publishResults="true" />
      -->
      <TestAssemblyPaths>
        <TestAssemblyPath>projectname.dll</TestAssemblyPath>
      </TestAssemblyPaths>
      <DeploymentTransformation>
        <Steps>`enter code here`
          <!-- sample config transform to change the connection string-->
          <!--<ConfigFileTransformation configFile="App.config">
            <Transformation>
              <![CDATA[<?xml version="1.0" encoding="utf-8"?>
                                <configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
                    <connectionStrings>
                      <add name="MyDatabase" connectionString="Data Source=.;Initial Catalog=MyDatabaseForTesting;Integrated Security=True" 
                           xdt:Locator="Match(name)" xdt:Transform="SetAttributes(connectionString)" />
                    </connectionStrings>
                                </configuration>
                            ]]>
            </Transformation>
          </ConfigFileTransformation>-->
        </Steps>
      </DeploymentTransformation>
    </TestProfile>

Также в окне вывода VS я получаю эту ошибку: не удалось загрузить файл или сборку TechTalk.SpecRun, Version = 1.3.0.76, Culture = нейтральный, PublicKeyToken = d0fc5cc18b3b389b или одну из его зависимостей. Система не может найти указанный файл. Может ли кто-нибудь помочь мне с этим?


person NRT    schedule 14.10.2016    source источник
comment
Я думаю, что теги selenium и bdd здесь не нужны, никакие эксперты по selenium или bdd вряд ли смогут помочь с этой конкретной проблемой specrun.   -  person Sam Holder    schedule 14.10.2016
comment
Не могли бы вы опубликовать точные версии ваших пакетов NuGet и часть вашего тестового кода?   -  person Andreas Willich    schedule 14.10.2016
comment
@AndreasWillich Я смог решить это, в версиях были некоторые конфликты. Теперь я могу запускать сценарии параллельно. Можем ли мы запускать файлы функций параллельно? На данный момент у меня есть много файлов функций, и потоки выбирают сценарии случайным образом. Но я хочу, чтобы потоки выполняли функции параллельно. Также я использую оценочную версию specRun. Есть ли ограничение на количество дней или просто задержка?   -  person NRT    schedule 17.10.2016
comment
@NRT: Почему вы хотите выполнять функции параллельно? Функция - это набор сценариев. В чем разница между параллельным запуском функции или параллельным запуском в ней всех сценариев? Ознакомительная версия полностью функциональна. Он только добавляет задержку в начале выполнения. Но лучше всего обсудить это на доске SpecFlow +: groups.google.com/forum/#! forum / specrun   -  person Andreas Willich    schedule 20.10.2016


Ответы (1)


Вы бы изменили эти строки:

      <RelocateConfigurationFile target="CustomConfig.{TestThreadId}.config" />
      <ConfigFileTransformation configFile="App.config">

Полный ответ: https://github.com/techtalk/SpecFlow/issues/954

person Юрий Аксютин    schedule 01.02.2018