iT邦幫忙

2024 iThome 鐵人賽

DAY 15
0
自我挑戰組

C# 和 SQL 探索之路 - 3系列 第 15

Day 15: C# 單元測試入門 3

  • 分享至 

  • xImage
  •  

C# 單元測試的文章,十分推薦 學習單元測試 - 程式隨筆 。但因為發佈於 2017 年,已經有 API 結束營運的問題;如果要使用較新版本的 .Net 練習,也有些微要調整的地方。請參考下方!

選擇使用不同的 API

文中介紹的 PTX (公共運輸整合資訊流通服務平台) 已經結束服務,可以從此文章列出的 API 中,挑選出合適的 API 來練習:第三方 API 整理. Public API 列表 - by 彼得潘的 iOS App Neverland

以下是我有測試過的 API,可分為

InternalVisbleTo 屬性

如果使用較新的 .Net SDK 專案檔案時,已經無法在原本的 AssemblyInfo.cs加入 InternalVisbleTo 屬性。有什麼其它方式,使被封裝的內部方法可被測試專案呼叫呢?

解決方法之一是在 csproj 專案檔內使用 InternalsVisibleToAttribute 屬性,並在參數加入要開放的專案名稱,範例如下 (參考 .NET Project SDKs 設定 InternalsVisibleTo - 余小章 @ 大內殿堂 - 點部落 ):

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net7.0</TargetFramework>
    <ImplicitUsings>enable</ImplicitUsings>
    <Nullable>enable</Nullable>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
    <AssemblyAttribute Include="System.Runtime.CompilerServices.InternalsVisibleToAttribute">
      <_Parameter1>Practice.Tests</_Parameter1>
  </AssemblyAttribute>
  </ItemGroup>

</Project>

上一篇
Day 14: C# 單元測試入門 2
下一篇
Day 16: 網頁開發的 DOM 概念
系列文
C# 和 SQL 探索之路 - 330
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言