2016-11-29 2 views
1

Чтобы включить конфигурацию среды, включите проект nunit как часть рамки BDD для Specflow (согласно этому Pass parameters via command line to NUnit). Но когда я пытаюсь загрузить его из командной строки, получите сообщение об ошибке . \ Nunit-console-x86.exe: Не удается найти приспособление.Загрузка файла проекта nunit (example.nunit) во время выполнения функции Specflow

Команда пытается запустить: NUnit-консоль-x86.exe example.nunit/конфигурации: CI /run:"xxxx.Features.abcdFeature»$ dll_dir/результат = $ result_dir

Эти рамки в соответствии с этим Specflow,Selenium-Share data between different Step definitions or classes Использование Nunit 2.6.4 и Specflow 1.9

Мой проект проекта nunit. Нужно ли передавать файл .csproj или dll в команде nunit.exe выше?

<NUnitProject> 
    <Settings activeconfig="Default" /> 
    <Config name="Default" configfile="App.CI.config"> 
    <assembly path="C:\FuncTest\{ProjectName}\{ProjectName}\bin\Debug\{ProjectName}.dll" /> 
    </Config> 
    <Config name="CI" configfile="App.CI.config"> 
    <assembly path="C:\FuncTest\{ProjectName}\{ProjectName}\bin\Debug\{ProjectName}.dll" /> 
    </Config> 
    <Config name="UAT" configfile="App.UAT.config"> 
    <assembly path="C:\FuncTest\{ProjectName}\{ProjectName}\bin\Debug\{ProjectName}.dll" /> 
    </Config> 
</NUnitProject> 
+0

Можете ли вы разместить свой файл nconfig? –

+0

@MaartenKieft В соответствии с запросом, отредактировал содержимое запроса .added nunit – ReuseAutomator

ответ

0

Я предполагаю, что у вас есть проект, содержащий по меньшей мере один тестовый прибор, который выглядит примерно так:

[TestFixture] 
public class MyFirstTestFixture{ 

    [Test] 
    public void MyFirstTest(){ 
     .. 
    } 
} 

Так что, если вы проецируете называется myfirstproj.csproj, который содержит этот прибор, то это будет создайте следующий файл: myfirstproj/bin/debug/myfirstproj.dll

Примечание. Вы можете заменить debug release, если вы скомпилировали его с настройкой release. Я предполагаю, что мы используем debug на данный момент.

Теперь вы создаете новый файл nunit (в той же папке, что и файл myfirstproj.csproj), и помещайте contens следующим образом. (Я предполагаю, что вы называете это myfirstproj.nunit)

<NUnitProject> 
    <Settings activeconfig="local"/> 
    <Config name="local" configfile="App.config"> 
    <assembly path="bin\Debug\myfirstproj.dll"/> 
    </Config> 
</NUnitProject> 

Теперь, когда вы WANNE NUnit вы вы делаете это как этот

nunit3-console.exe myfirstproj.nunit /config:local 

Так разница между вашей установки и шахты:

  1. Укажите относительный путь dll из файла nunit
  2. Укажите путь без заполнителей
  3. Выполнить тест, используя файл nunit '

Это работает для вас?

Если вы хотите отладить это, я хотел бы использовать эти шаги:

  1. Создать первый пустой проект с только тест одного блока
  2. Выполнить тест, который, выполнив nunit3-console.exe с: \ absolutepath \ к \ My \ project.dll
  3. Если вышеуказанные работы, начать создание файла NUnit и запустить его с помощью файла NUnit и посмотреть, если это работает
  4. Попробуйте указать конфиг и с помощью этой конфигурации для различных сред
+0

-Спасибо, это сработало.Я передавал файл проекта nunit в моей консоли для запуска тестов. Просто нужно передать файл .nunit. Но как запустить тот же режим Release? – ReuseAutomator

+0

Вы можете создать 2 файла nunit, если хотите. Но я всегда использую версию выпуска, так как я использую локально тестовый проводник из визуальной студии или тестера nunit из resharper. Я использую консоль nunit только на сервере сборки :) –

Смежные вопросы