.NET 幫助

測試控制台應用程式 C#(開發人員工作原理)

Chipego
奇佩戈·卡林达
2024年1月14日
分享:

測試在軟體開發領域中扮演著關鍵角色,是保證應用品質的重要元素。 在眾多可用的框架中,.NET 脫穎而出,成為開發 Windows 應用程式的廣泛採用選擇。 本文深入探討 .NET TestConsole 的複雜性,這是一個專為測試 .NET 應用程式而設計的工具。

在整個探索過程中,我們將編寫一個全面的代碼範例,說明 .NET TestConsole 的實際應用。 此外,我們將介紹IronPDF,一個與.NET TestConsole無縫整合的出色C# PDF庫。 這個函式庫無價,能讓開發人員在.NET TestConsole 環境中輕鬆存取和生成 PDF。 加入我們的旅程,探索.NET TestConsole與IronPDF的C# PDF功能的協同作用所帶來的功能和可能性。

1. 介紹:TestConsole

TestConsole 是一個多功能的測試庫,為 C# 程式語言中的單元測試引入了一種獨特的方法。 傳統的單元測試方法在處理大型數據集和複雜的斷言時經常面臨挑戰,這導致在識別預期結果和實際結果之間的差異時出現困難。 為此,TestConsole 提供了一種新穎的工作流程,從傳統的預測式方法轉變為格式化輸出與指定的「已批准」標準輸出版本的並排比較。

在此程式庫中,特別是使用 TestConsole 時,'.Core' 變體擴展了繼承自原始 TestConsole 專案的格式化功能,並在測試結果與預期不符的情況下加入了必要的測試核准功能。 TestConsole.Core 無縫整合至建置伺服器來觸發測試失敗。 在開發電腦上,預設情況下,它提供重新配置功能,以利用已安裝的文件比較工具來可視化差異。 值得注意的是,這種方法簡化了批准流程,允許開發者在預期有差異時手動更新批准的版本。

1.1. 為什麼使用 TestConsole?

TestConsole.Core 受到 ApprovalTests 的啟發,但通過提供支持編寫完整的框架和 .NET Core 測試套件而有所不同。 該庫滿足了在多樣環境中進行測試的需求,正如在發布時的ApprovalTests,主要適用於完整框架的情境。 TestConsole.Core 的語法雖然與 ApprovalTests 有相似之處,但也有其獨特之處,特別是在選擇文件比較工具和直接批核內容方面。

為了促進在 .NET Core 應用程式代碼中的測試,TestConsole.Core 源於為填補 ApprovalTests 中缺乏 .NET 標準和 .NET Core 應用程式支援的空白的必要性。 TestConsole.Core的測試核准功能專注於有效測試大型數據集,適應使用測試控制台輸出對象格式化的數據,並擴展其功能以處理任何純文字輸入,為C#的單元測試提供全面的解決方案。

1.2. 安裝 TestConsole C\#

可以透過 Visual Studio 中的 NuGet 套件管理器形式安裝測試控制台,或者在 NuGet 套件管理器主控台中執行以下命令進行安裝。

Install-Package TestConsole -Version 2.6.0

或者直接從 NuGet 上的 TestConsole 發行版本 下載。

2. TestConsole 的程式碼範例

在本節中,我們將了解如何將控制台輸出轉換為報告。 以下的源代碼使用測試控制台將 Enumerable 物件轉換成格式良好的報告表。

using TestConsoleLib;
var output = new Output();
var data = Enumerable.Range(0, 10)
    .Select(i => new { Value = i, Squared = i * i, String = new string('I', i) });
output.FormatTable(data);
string report = output.Report;
Console.WriteLine(report);
using TestConsoleLib;
var output = new Output();
var data = Enumerable.Range(0, 10)
    .Select(i => new { Value = i, Squared = i * i, String = new string('I', i) });
output.FormatTable(data);
string report = output.Report;
Console.WriteLine(report);

以下 C# 代碼片段使用 TestConsoleLib 庫來展示並運行一個簡單的範例,該範例使用 TestConsole 的 Output 類格式化和報告表格數據。 首先,創建一個名為 'output' 的 Output 類的實例。接著,生成一個包含 10 個元素的集合,這些元素是具有屬性匿名對象,這些屬性表示整數值、其平方值,以及一個長度對應於整數值的 'I' 字符串。

然後調用 output.FormatTable() 方法將資料格式化為表格。 格式化結果儲存在 'report' 字串變數中,最後使用 Console.WriteLine() 輸出到控制台。 這展示了 TestConsole 的能力,能輕鬆格式化並呈現表格數據,以在單元測試或調試場景中提高可讀性。

2.1. 輸出

測試控制台應用程式 C#(開發者如何操作):圖 1 - 前一段代碼的輸出

3. IronPDF

IronPDF 官方網站 提供了一個全面的平台,擁有一個強大的 C# PDF 程式庫,旨在簡化和提升在 .NET 應用程式中處理 PDF 文件的過程。 IronPDF 提供了一套全面的功能,讓開發人員能輕鬆在其 C# 專案中創建、操作和提取 PDF 文件的內容。 IronPDF專注於靈活性和易用性,支持廣泛的功能,包括從HTML、圖像或現有文件生成PDF,以及合併動態內容,如圖表和表格。

其功能包括合併、分割和操作 PDF 頁面,以及提取文本和圖像等功能。 無論是報告、文檔還是任何 PDF 相關的任務,IronPDF 作為一個可靠且多功能的解決方案脫穎而出,以最小的努力將 PDF 功能集成到 C# 應用中。

3.1. 建立測試控制台報告的 PDF 檔案

在本節中,我們將討論如何轉換 TestConsole 報告的輸出。

開始使用 IronPDF

立即在您的專案中使用IronPDF,並享受免費試用。

第一步:
green arrow pointer


安裝 IronPDF 庫

使用 NuGet 套件管理器安裝

若要使用 NuGet 套件管理器將 IronPDF 整合到您的 Console 專案中,請遵循以下步驟:

  1. 在 Visual Studio 中打開解決方案資源管理器,右鍵點擊您的專案。

  2. 從內容選單中選擇「管理 NuGet 套件...」。

  3. 前往「瀏覽」標籤並搜尋 IronPDF。

  4. 從搜索結果中選擇IronPDF庫,然後點擊安裝按鈕。

  5. 接受任何許可協議提示。

    如果要通過套件管理器控制台將 IronPDF 包含在專案中,請在套件管理器控制台中執行以下命令:

Install-Package IronPdf

這將會將 IronPDF 取回並安裝到您的專案中。

使用 NuGet 網站安裝

如需詳細了解 IronPDF,包括其功能、兼容性和其他下載選項,請訪問 NuGet 網站上的 IronPDF 頁面:https://www.nuget.org/packages/IronPdf

通過 DLL 安裝

或者,您可以直接將 IronPDF 的 dll 文件合併到您的專案中。從此IronPDF ZIP 套件下載包含 DLL 的 ZIP 文件。 解壓縮後,將 DLL 包含在您的專案中。

安裝完畢後,我們將重新創建上述範例報告,但這次我們將不把它寫入控制檯,而是從中創建一個 PDF 報告。

using TestConsole.OutputFormatting;
using TestConsoleLib;
using IronPdf;
var output = new Output();
var data = Enumerable.Range(0, 10)
    .Select(i => new { Value = i, Squared = i * i, String = new string('I', i) });
output.FormatTable(data);
string report = output.Report;
var htmlContent = $"<pre>{report}</pre>";
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("test.pdf");
using TestConsole.OutputFormatting;
using TestConsoleLib;
using IronPdf;
var output = new Output();
var data = Enumerable.Range(0, 10)
    .Select(i => new { Value = i, Squared = i * i, String = new string('I', i) });
output.FormatTable(data);
string report = output.Report;
var htmlContent = $"<pre>{report}</pre>";
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("test.pdf");

此 C# 代碼片段展示了 TestConsoleLib 和 IronPDF 的集成,以生成包含格式化數據表的 PDF 文件。 最初,它從 TestConsoleLib 創建 Output 類的實例,並使用從一系列整數生成的數據來格式化表格。 格式化的輸出被存儲在 'report' 字串變數中,然後用 HTML 的 pre 標籤包裹以保留格式。

隨後,程式碼使用 IronPDF 的 ChromePdfRenderer 將 HTML 內容呈現為 PDF 文件。 最後,生成的 PDF 被儲存為「test.pdf」。此程式碼展示了 TestConsoleLib 的格式化功能與 IronPDF 的 PDF 生成功能的無縫結合,為在 C# 應用程式中將格式化資料合併到 PDF 文件中提供了一個簡單直接的解決方案。

3.1.1. 輸出

測試控制台應用程式 C#(開發者運作方式):圖 2 - 前述代碼的輸出

4. 結論

.NET TestConsole 作為 C# 應用程式的重要測試庫出現,提供一種獨特的單元測試方法,減輕了大型數據集和複雜斷言相關的挑戰。 TestConsole.Core 變體擴展了其在多種環境中的實用性,彌合了其他框架遺留的空隙,並為格式化輸出的並排比較提供了一個高效的工作流程。

它可以與IronPDF這個強大的 C# 程式庫無縫整合,不僅能夠促進流暢的測試,還擴展了其在 PDF 生成和操作方面的功能。 這些工具共同賦予開發者不費力地處理測試複雜性並增強其 C# 專案中的文件生成功能,提供一個全面且高效的解決方案。

關於IronPDF HTML到PDF轉換的詳細完整教程可在IronPDF教程指南中找到。

Chipego
奇佩戈·卡林达
軟體工程師
Chipego 擁有天生的傾聽技能,這幫助他理解客戶問題,並提供智能解決方案。他在獲得信息技術理學學士學位後,于 2023 年加入 Iron Software 團隊。IronPDF 和 IronOCR 是 Chipego 專注的兩個產品,但隨著他每天找到新的方法來支持客戶,他對所有產品的了解也在不斷增長。他喜歡在 Iron Software 的協作生活,公司內的團隊成員從各自不同的經歷中共同努力,創造出有效的創新解決方案。當 Chipego 離開辦公桌時,他常常享受讀好書或踢足球的樂趣。
< 上一頁
RestSharp C#(它如何為開發人員工作)
下一個 >
C# Writeline(它對開發者的作用)