.NET 幫助

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

發佈 2024年1月14日
分享:

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

在這次探索中,我們將撰寫一個全面的程式碼範例,說明 .NET TestConsole 的實際應用。 此外,我們將闡明IronPDF,一個模範的C# PDF庫,與.NET TestConsole無縫整合。 這個庫被證明是無價的,讓開發人員能夠在.NET中輕鬆訪問和生成PDF。測試控制台環境. 加入我們的旅程,探索 .NET TestConsole 的功能和由它所產生的可能性,以及 IronPDF.

1. 介紹:TestConsole

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

在這個庫中,特別是使用 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 的測試批准功能可容納使用 Test Console Output 對象格式化的數據,並擴展其功能以處理任何純文本輸入,為 C# 的單元測試提供全面的解決方案。

1.2. 安裝 TestConsole C

可以使用 Visual Studio 中的 NuGet 套件管理器表單安裝測試控制台,或者在 NuGet 套件管理器控制台中執行以下命令。

Install-Package TestConsole -Version 2.6.0

或直接使用下載TestCosole NuGet 頁面.

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);
Imports TestConsoleLib
Private output = New Output()
Private data = Enumerable.Range(0, 10).Select(Function(i) New With {
	Key .Value = i,
	Key .Squared = i * i,
	Key .String = New String("I"c, i)
})
output.FormatTable(data)
Dim report As String = output.Report
Console.WriteLine(report)
VB   C#

此 C# 代碼片段使用 TestConsoleLib 庫來展示和運行一個簡單的範例,利用 TestConsole 的 Output 類進行格式化和報告表格數據。 它首先創建一個名為 'output' 的 Output 類別實例。隨後,它生成一個包含 10 個元素的集合,每個元素都是具有以下屬性的匿名物件:一個整數值、它的平方、以及一個由 'I' 組成且長度與該整數值相對應的字串。

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

2.1. 輸出

測試控制台應用程式 C#(開發人員如何運作):圖 1 - 前述代碼的輸出

3. IronPDF

IronPDF是一個強大的 C# 程式庫,旨在簡化和增強在 .NET 應用程式中處理 PDF 文件的過程。 IronPDF 提供全面的功能集,使開發人員可以在他們的 C# 專案中輕鬆創建、操作及提取 PDF 檔案的內容。 IronPDF 專注於靈活性和易用性,支援廣泛的功能,包括從 HTML、圖像或現有文件生成 PDF,以及整合動態內容,如圖表和表格。

它的功能擴展至合併、拆分和操作 PDF 頁面,還包括提取文字和圖片等功能。 無論是用於報告、文件或任何PDF相關的任務,IronPDF都是一個可靠且多功能的解決方案,簡化了將PDF功能整合到C#應用程序中的過程,所需的努力最少。

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

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

安裝 IronPDF 函式庫

C# NuGet 程式庫用于 PDF

安裝與 NuGet

Install-Package IronPdf
Java PDF JAR

下載 DLL

下載DLL

手動安裝到您的項目中

C# NuGet 程式庫用于 PDF

安裝與 NuGet

Install-Package IronPdf
Java PDF JAR

下載 DLL

下載DLL

手動安裝到您的項目中

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

第一步:
green arrow pointer

查看 IronPDFNuget 快速安裝和部署。已被下載超過800萬次,它正用C#改變PDF。

C# NuGet 程式庫用于 PDF nuget.org/packages/IronPdf/
Install-Package IronPdf

請考慮安裝 IronPDF DLL 直接下載並手動安裝到您的專案或GAC表單: IronPdf.zip

手動安裝到您的項目中

下載DLL

使用 NuGet 套件管理器安裝

若要使用 NuGet 套件管理器將 IronPDF 整合到您的控制台項目中,請按照以下步驟操作:

  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 文件納入您的項目。從這個地方下載包含 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");
Imports TestConsole.OutputFormatting
Imports TestConsoleLib
Imports IronPdf
Private output = New Output()
Private data = Enumerable.Range(0, 10).Select(Function(i) New With {
	Key .Value = i,
	Key .Squared = i * i,
	Key .String = New String("I"c, i)
})
output.FormatTable(data)
Dim report As String = output.Report
Dim htmlContent = $"<pre>{report}</pre>"
Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf(htmlContent)
pdf.SaveAs("test.pdf")
VB   C#

這段 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 的詳細完整教程可以在以下位置找到這裡.

< 上一頁
RestSharp C#(它如何為開發人員工作)
下一個 >
C# Writeline(它對開發者的作用)

準備開始了嗎? 版本: 2024.10 剛剛發布

免費 NuGet 下載 總下載次數: 10,993,239 查看許可證 >