2016-11-29 44 views
1

要啓用環境配置,請將nunit項目作爲Specflow BDD框架的一部分(根據此Pass parameters via command line to NUnit)。但是,當我嘗試從命令提示符下載它時,得到錯誤消息 。\ nunit-console-x86.exe:無法找到燈具。在Specflow功能執行期間加載nunit項目文件(example.nunit)

命令試圖運行: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項目文件。我們是否需要在上面的nunit.exe命令中傳遞.csproj文件或dll?

<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根據要求,編輯query.added nunit文件內容 – ReuseAutomator

回答

0

我假設你有一個包含至少1測試夾具一個項目,看起來是這樣的:

[TestFixture] 
public class MyFirstTestFixture{ 

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

所以,如果你的項目被稱爲myfirstproj.csproj,其中包含此夾具,這將生成以下文件myfirstproj/bin/debug/myfirstproj.dll

注意如果使用發佈設置編譯它,則可以使用發行版替換調試。我假設我們現在使用調試。

現在您創建一個新的nunit文件(與myfirstproj.csproj文件位於同一文件夾中),並將這些內容像這樣放置。 (我假設你把它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. 指定dun從nunit文件的相對路徑
  2. 指定沒有佔位符的路徑
  3. 執行測試,使用nunit文件'

這是否適合您?

如果你想調試這一點,我會用這樣的步驟:

  1. 創造出一流的空項目,只是一個單一的單元測試
  2. 運行該測試通過執行nunit3-console.exe C:\ absolutepath \到\我\ project.dll
  3. 如果上述工作,開始創建NUnit的文件,並使用NUnit的文件,運行它,並看看是否能工程
  4. 嘗試指定一個配置和使用配置的不同環境
+0

- 感謝,工作。我在我的控制檯中傳遞nunit項目文件來運行測試。只需要傳遞.nunit文件。但是,如何在Release模式下運行相同? – ReuseAutomator

+0

如果你願意,你可以創建2個nunit文件。但我總是使用發佈版本,因爲我在本地使用visual studio的測試瀏覽器或者resharper的nunit測試工具。我只在構建服務器中使用nunit控制檯:) –