iT邦幫忙

0

單元測試 config

  • 分享至 

  • xImage

HI 各位大大好,
想請問 測試專案呼叫主專案的方法時,該主專案的方法有讀取config的資訊,但執行測試時卻讀不到,可以怎麼解決? 已有試過把app.config的檔案貼一份到測試專案資料夾下面,還是沒有取到資料....

專案架構如下

/Demo
    Demo.sln
    /Demo
        Demo.cs
        Demo.csproj
        app.config
    /DemoTests
        UnitTest.cs
        DemoTests.csproj

主專案在取config
ConfigurationManager.AppSettings["Counts"]

網路上找到很多都是在測試專案取config資料,但程式的段落在主專案裡,所以需要主專案可以取到config...

ice bear iT邦新手 4 級 ‧ 2020-06-23 14:48:12 檢舉
紀錄一下找到的解法
在DemoTests.csproj加上下面的段落
<ItemGroup>
<Content Include="..\Demo\app.config" Link="app.config" />
</ItemGroup>
<Target Name="CopyAppConfig" AfterTargets="Build" DependsOnTargets="Build">
<CreateItem Include="$(OutputPath)$(AssemblyName).dll.config">
<Output TaskParameter="Include" ItemName="FilesToCopy"/>
</CreateItem>
<Copy SourceFiles="@(FilesToCopy)" DestinationFiles="$(OutputPath)testhost.dll.config" />
</Target>

參考網址
https://github.com/microsoft/testfx/issues/348
先建立config的連結
再把config複製進testhost.dll.config

下中斷點的時候發現,測試專案會去路徑下抓testhost.dll.config的檔案,而不是專案DemoTests.dll.config
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友回答

立即登入回答