.NETヘルプ NBuilder .NET(開発者向けの動作方法) Curtis Chau 更新日:6月 22, 2025 Download IronPDF NuGet Download テキストの検索と置換 テキストと画像のスタンプ Start Free Trial Copy for LLMs Copy for LLMs Copy page as Markdown for LLMs Open in ChatGPT Ask ChatGPT about this page Open in Gemini Ask Gemini about this page Open in Grok Ask Grok about this page Open in Perplexity Ask Perplexity about this page Share Share on Facebook Share on X (Twitter) Share on LinkedIn Copy URL Email article NBuilder is a .NETライブラリです。 開発者は流暢なインターフェイスで複雑なオブジェクトグラフを簡単に作成できます。 人気のあるテスティングフレームワークとシームレスに統合された柔軟性、効率性を提供します。 この記事では、NBuilderの特徴、そのインストール方法、実際のコード例を通じてその機能を探ります。 NBuilderの特徴 NBuilderはテストやモックの目的でオブジェクトの作成を簡素化するために設計されたC#のオープンソース.NETライブラリです。 開発者は異なるデータ型に基づいたデフォルトまたはカスタム指定の入力でオブジェクトを素早く生成できます。 単体テスト、機能テスト、統合テストに特に役立ちます。 .NET組み込みデータ型や複雑なオブジェクトをテストするための不可欠なパッケージのひとつです。 ランダムデータ生成に使用されます。 このオープンソースプロジェクトに貢献できます。 NBuilderを使用することで、デフォルトのプロパティを簡単にオーバーライドし、カスタム設定を記述できます。 NBuilderのインストール NuGetパッケージ管理コンソールでNBuilderをインストールするには、次のコマンドを使用します。 Install-Package NBuilder 上記のコマンドにより、すべての依存関係とともにNBuilderがインストールされます。 NBuilderの使用方法 NBuilderはオブジェクトを即座に作成するための流暢な方法を提供します。 まず、オブジェクトを作成するシンプルな例から始めましょう。 こちらはPerson Modelクラスのソースコードです。 class Person { public int Id { get; set; } public string Name { get; set; } public string Email { get; set; } public bool IsMarried { get; set; } } class Person { public int Id { get; set; } public string Name { get; set; } public string Email { get; set; } public bool IsMarried { get; set; } } Friend Class Person Public Property Id() As Integer Public Property Name() As String Public Property Email() As String Public Property IsMarried() As Boolean End Class $vbLabelText $csharpLabel 例1:デフォルト値を使用したPersonオブジェクトの作成 // Create a new person object with default values using NBuilder var person = Builder<Person> .CreateNew() .Build(); // By default, NBuilder can provide values like // Id = 1, Name = Name1, Email = Email1, IsMarried = false // Create a new person object with default values using NBuilder var person = Builder<Person> .CreateNew() .Build(); // By default, NBuilder can provide values like // Id = 1, Name = Name1, Email = Email1, IsMarried = false ' Create a new person object with default values using NBuilder Dim person = Builder(Of Person) .CreateNew().Build() ' By default, NBuilder can provide values like ' Id = 1, Name = Name1, Email = Email1, IsMarried = false $vbLabelText $csharpLabel   #### 例2:カスタムビルダーを使用したオブジェクトの作成 こちらはカスタムプロパティを持つPersonオブジェクトを作成・設定するためにNBuilderを使用する方法の例です。 ```csharp // Initialize a custom builder for the Person object with specific values var customPersonBuilder = Builder.CreateNew() .With(p => p.Name = "Tom") .With(p => p.Email = "Tom@email.com"); // Build the custom person object with the specified properties var objTom = customPersonBuilder.Build(); ``` 上記のコードはカスタムプロパティを持つ新しいPersonオブジェクトを作成します。 Personオブジェクト用にcustomPersonBuilderを初期化し、Nameを "Tom" に、Emailを "Tom@email.com" に設定します。 最終的にそのオブジェクトを構築し、objTomに割り当てます。 #### 例3:デフォルト値を持つPersonオブジェクトリストの作成 ```csharp // Create a list of 10 Person objects with default values using NBuilder var personList = Builder .CreateListOfSize(10) .Build(); ```   ここでは、personListは10個のオブジェクトをデフォルトの値で持ち、それらを出力します。 ```csharp // Creating a list of 10 Person objects with default values var personList = Builder .CreateListOfSize(10) .Build(); // Print details of each Person object in the list foreach (var person in personList) { Console.WriteLine($"{person.Id}, {person.Name}, {person.Email}, {person.IsMarried}"); } ```  #### 例4:生成されたオブジェクトのカスタマイズ 作成されたオブジェクトをカスタマイズする必要がある場合もあります。 `With()`メソッドを使用してオブジェクトの値もカスタマイズできます。 ```csharp // Customize properties for all Person objects in the list var personList = Builder .CreateListOfSize(10) .All() .With(p => p.Name = "Kim") .With(p => p.Email = "abc@email.com") .With(p => p.IsMarried = false) .Build(); ``` これにより、各オブジェクトがデフォルト値をオーバーライドし、Name = "Kim"、Email = "abc@email.com"、IsMarried = falseに設定された`personList`が作成されます。 #### 例5:リアルなランダムデータを使用したPersonオブジェクトリストの作成 Person Listでリアルなデータ値を得るために、Faker Library .NETを使用してリアルなデータを生成できます。 ```csharp // Creating a list of Person objects with random yet realistic values using Faker var personList = Builder .CreateListOfSize(10) .All() .With(p => p.Name = Faker.Name.FullName()) .With(p => p.Id = Faker.RandomNumber.Next(20, 60)) .Build(); ``` **例6:連続データを使用したPersonオブジェクトリストの作成** 連続したデータを持つオブジェクトを生成する必要があるときもあります。 NBuilder .NETは**Do**メソッドを使用してこれをサポートします。 ```csharp // Creating a list of 10 sequential Person objects using NBuilder var personList = Builder.CreateListOfSize(10) .All() .Do((p, i) => p.Id = 501 + i) .Do((p, i) => p.Name = $"Person {i + 1}") .Build(); ``` ここで、`All()`メソッドはメモリ内で作成された10個のPersonオブジェクトすべてにサポートする操作を適用することを保証します。 `Do()`メソッドは各`Person`オブジェクトに`Action`デリゲートを実行します。 このセットアップで`Id`プロパティが501から始まる連続値で割り当てられ、Personの名前が"Person 1"から"Person 10"まで連続的に名付けられます。  **例7:Xunitを使用した単体テストでのNBuilder** .NET内でのNBuilderは特にテスト環境で広く使用され、開発者がテストのためにリアルで多様なデータを生成する必要がある場合に利用されます。 複雑なオブジェクトでテストを簡単かつ保守しやすくし、開発者がlambda式やデリゲート関数を使用してカスタム初期化ロジックを定義することが可能で、効率的かつ柔軟なテストデータ生成に興味のある人々に対応できます。 #### 単体テストのためのモデルクラスとサービス ```csharp class Person { public int Id { get; set; } public string Name { get; set; } public string Email { get; set; } public bool IsMarried { get; set; } } class PersonService { public string GetPersonEmail(Person person) { return person.Email; } } ``` ここで、`Person`クラスには`Id`、`Name`、`Email`、`IsMarried`などのいくつかのプロパティがあり、`PersonService`には指定された`Person`のメールアドレスを返す`GetPersonEmail()`というメソッドがあります。 #### テストクラスとテストデータ ```csharp using Xunit; public class PersonTests { [Fact] public void GetPersonEmail_ReturnCorrectEmail() { // Arrange var service = new PersonService(); string expectedEmail = "Tom@email.com"; // Create a person with specific name and email using NBuilder var person = Builder.CreateNew() .With(p => p.Name = "Tom") .With(p => p.Email = "Tom@email.com") .Build(); // Act var actualEmail = service.GetPersonEmail(person); // Assert Assert.Equal(expectedEmail, actualEmail); } } ``` この単体テストは`PersonService`クラスの`GetPersonEmail`メソッドが`Person`オブジェクトの期待されるメールアドレス"Tom@email.com"を正確に返すことを確認します。 Arrange-Act-Assertパターンを使用してテストデータを設定し、メソッドを実行し、その後、実際の結果が期待される結果と一致していることを確認します。 ## NBuilderとIronPDFの統合 [Learn About IronPDF](/) is a powerful C# library designed for [HTMLからPDFを作成](/tutorials/html-to-pdf/)するために設計された強力なC#ライブラリです。 その直感的なAPIを通じて、開発者は請求書、レポート、インタラクティブなフォームを生成するかどうかに関係なく、自分のプロジェクトにシームレスにPDF機能を統合できます。  ### IronPDFのインストール NuGetパッケージ管理コンソールを開き、次のコマンドを実行します。 ```shell :ProductInstall ``` #### 5つのPersonオブジェクトのリストを生成する ```csharp // Generating instances of the Person class with NBuilder var people = Builder.CreateListOfSize(5).Build(); ``` #### IronPDFを使用したPDFドキュメントの作成 このコードはIronPDFのライセンスキーを設定し、PersonオブジェクトのリストからHTMLコンテンツを生成します。 ```csharp // Setting the IronPDF license key IronPdf.License.LicenseKey = "Your-License-Key"; // Building HTML content from Person object list var htmlContent = "Person List"; foreach (var person in people) { htmlContent += $"Id: {person.Id}, Name: {person.Name}, Email: {person.Email}, IsMarried: {person.IsMarried}"; } ``` `IronPdf.License.LicenseKey`が特定のライセンスキーで設定され、IronPDFの機能を有効にします。 HTMLコンテンツは`people`リストを反復処理し、各`Person`オブジェクトの詳細(Id、Name、Email、IsMarried)をHTML構造に追加することによって動的に構築されます。 #### IronPDFを使用してPDFドキュメントにPersonリストをレンダリングする このコードはIronPDFの**ChromePdfRenderer**を使用してHTMLコンテンツをPDFドキュメントに変換します。 ```csharp // Rendering HTML content into a PDF document using IronPDF var renderer = new ChromePdfRenderer(); var pdfDoc = renderer.RenderHtmlAsPdf(htmlContent); pdfDoc.SaveAs("PersonList.pdf"); ``` **ChromePdfRenderer**は`htmlContent`に保存されたHTMLコンテンツをPDFドキュメントにレンダリングするためにインスタンス化されます。 結果のPDFドキュメントは"PersonList.pdf"としてファイルシステムに保存されます。 ## 出力 以下はIronPDFによって生成されたPersonListの出力です。 デフォルト値を持つ5人が含まれています。  ## 結論 結論として、NBuilderは.NETでのテストデータ生成のための強力で柔軟なツールであり、複雑なオブジェクトグラフの作成を合理化し、テストプロセスの効率を向上させます。 IronPDFとの統合により、プロジェクトにおいてPDF生成機能を追加することが容易になり、これを価値あるものとみなす開発者にとって価値のあるプロジェクトとなります。 NBuilderとIronPDFを組み合わせることで、開発ワークフローが大幅に向上し、テストとドキュメント生成がシームレスかつ効率的になります。 よくある質問 NBuilder を使用して .NET でテスト データを生成する方法は? NBuilder は、開発者が複雑なオブジェクト グラフとテスト データを簡単に生成できる流暢なインターフェースを提供します。 CreateNew() や CreateListOfSize() などのメソッドを使用して、デフォルトまたはカスタム値を持つ単一オブジェクトまたはオブジェクトのリストを生成できます。 .NET プロジェクトで NBuilder をインストールするにはどうすればよいですか? NBuilder をインストールするには、NuGet パッケージ マネージャー コンソールで次のコマンドを使用できます: Install-Package NBuilder。 これにより、必要な依存関係とともに NBuilder がダウンロードおよびインストールされます。 NBuilder はランダムデータと連続データの両方を生成するために使用できますか? はい、NBuilder はランダムデータと連続データの両方の生成をサポートしています。 With() などのメソッドを使用してオブジェクト プロパティをランダム値でカスタマイズしたり、Do() を使用してプロパティを順次設定したりすることができます。 NBuilder を IronPDF と統合することで得られる利益は何ですか? NBuilder と IronPDF を統合すると、開発者は複雑なテストデータを作成し、それを PDF として出力できます。 これにより、テストデータから動的に PDF を生成することで .NET アプリケーションを強化し、開発ワークフローを合理化することができます。 NBuilder は単体テストでどのように支援しますか? NBuilder は、開発者が現実的なテストデータを迅速に生成できるようにすることで、単体テストにおいて価値を発揮します。 複雑なオブジェクト グラフを使用したテスト シナリオのセットアップを簡素化し、テストをより保守しやすく、効果的にします。 NBuilder で流暢なインターフェースを使用する利点は何ですか? NBuilder の流暢なインターフェースにより、開発者は読みやすく簡潔な方法で複雑なオブジェクト グラフを作成するためのメソッド呼び出しをチェーン化できます。これにより、コードの明確性が向上し、テスト データ生成時の定型コードが削減されます。 NBuilder を使用してオブジェクトのリストを作成するにはどうすればよいですか? NBuilder の CreateListOfSize() メソッドを使用してオブジェクトのリストを作成できます。 たとえば、Builder.CreateListOfSize(10).Build() は、10 の Person オブジェクトのリストを生成します。 NBuilder の使用に関するトラブルシューティングのヒントを教えてください。 NBuilder が NuGet 経由で正しくインストールされ、プロジェクト参照が最新であることを確認してください。 問題が発生した場合は、NBuilder GitHub リポジトリまたはコミュニティ フォーラムを確認すると、有益な洞察や解決策が得られる場合があります。 Curtis Chau 今すぐエンジニアリングチームとチャット テクニカルライター Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。 関連する記事 更新日 9月 4, 2025 RandomNumberGenerator C# RandomNumberGenerator C#クラスを使用すると、PDF生成および編集プロジェクトを次のレベルに引き上げることができます 詳しく読む 更新日 9月 4, 2025 C# String Equals(開発者向けの仕組み) 強力なPDFライブラリであるIronPDFと組み合わせることで、switchパターンマッチングは、ドキュメント処理のためのよりスマートでクリーンなロジックを構築できます 詳しく読む 更新日 8月 5, 2025 C# Switch Pattern Matching(開発者向けの仕組み) 強力なPDFライブラリであるIronPDFと組み合わせることで、switchパターンマッチングは、ドキュメント処理のためのよりスマートでクリーンなロジックを構築できます 詳しく読む Refit C#(開発者向けの動作方法)C# TryParse(開発者向けの動... 試用版の IronPDF を無料でお試しください 5分でセットアップ完了 Install with NuGet バージョン: 2025.11 Install-Package IronPdf nuget.org/packages/IronPdf/ ソリューションエクスプローラーで参照を右クリックし、NuGetパッケージを管理を選択 ブラウズを選択し、"IronPdf"を検索 パッケージを選択してインストール DLLをダウンロード バージョン: 2025.11 今すぐダウンロード またはここからWindowsインストーラーをダウンロードする。 IronPDFを~/Libsなどの場所に解凍し、ソリューションディレクトリ内に配置する Visual Studioソリューションエクスプローラーで参照を右クリックし、"IronPdf.dll"をブラウズして選択 ライセンスは$749から 15 1000 1 Now you've installed with Nuget ブラウザがダウンロード中です IronPDF Next step: Start free 30-day Trial 無料で始める 無料トライアルを開始NuGetダウンロードjs-modal-open あなたの無料30日間の試用キーをすぐに入手。 Thank you.If you'd like to speak to our licensing team: トライアルフォームが正常に送信されました。試用キーはメールに届いているはずです。もし届いていない場合はsupport@ironsoftware.comにご連絡ください。 ライセンスはより安く Have a question? Get in touch with our development team. クレジットカードやアカウントの作成は不要です。 15 1000 1 Now you've installed with Nuget ブラウザがダウンロード中です IronPDF Next step: Start free 30-day Trial 無料で始める 無料トライアルを開始NuGetダウンロードjs-modal-open ありがとうございます。ライセンスオプションを見る: Thank you.If you'd like to speak to our licensing team: ライセンスの表示 ライセンスはより安く 質問がありますか? ライセンスの表示 開発チームと。 Have a question? Get in touch with our development team. 無料で始めましょう 無料で始める ライブ環境でテスト ウォーターマークなしで本番環境でテスト。必要な場所で動作します。 完全機能の製品 完全に機能する製品を30日間利用できます。数分でセットアップして稼働します。 24/5 技術サポート 製品試用期間中、サポートエンジニアリングチームへのフルアクセス 無料の30日間の試用版キーをすぐに取得してください。 ありがとうございます。ライセンシングチームと話したい場合: トライアルフォームが正常に送信されました。 試用版キーはメールにあります。もしない場合は、お問い合わせくださいsupport@ironsoftware.com ブログ 無料で始めましょう 無料で始める ライブ環境でテスト ウォーターマークなしで本番環境でテスト。必要な場所で動作します。 完全機能の製品 完全に機能する製品を30日間利用できます。数分でセットアップして稼働します。 24/5 技術サポート 製品試用期間中、サポートエンジニアリングチームへのフルアクセス 無料の30日間の試用版キーをすぐに取得してください。 購入の準備ができていませんか? ライセンスの表示 ライセンスは749ドルから。 質問がありますか? お問い合わせください。 ブログ 営業チームと話す 義務のない相談を予約 私たちがお手伝いできること: お客様のワークフローや課題についてご相談いただけます。他の企業が.NETドキュメントニーズをどのように解決しているかを確認するあなたが必要な情報を確実に提供するためすべての質問に回答します。(いかなるコミットメントもありません。)プロジェクトのニーズに合わせた見積もりを取得する 義務のない相談を受ける 下記のフォームを記入するか、sales@ironsoftware.comにメールしてください。 あなたの詳細は常に守秘されます。 世界中の 200 万人以上のエンジニアから信頼されています。 無料ライブデモを予約 30分間の個別デモを予約してください。 試用ライセンスキーがメールで送信されました。 Here's what to expect: 製品とその主要機能のライブデモをご覧いただけます。NuGetでインストールすべての質問に答え、必要な情報がすべて揃っていることを確認します。(まったく何の義務もありません。) 時間を選択 あなたの情報 無料のライブデモを予約する 世界中の 200 万人以上のエンジニアから信頼されています。 法的情報 著作権 © Iron Software 2013-2025 利用規約 プライバシー クッキー 著作権 © Iron Software 2013-2025 利用規約 プライバシー クッキー
更新日 9月 4, 2025 RandomNumberGenerator C# RandomNumberGenerator C#クラスを使用すると、PDF生成および編集プロジェクトを次のレベルに引き上げることができます 詳しく読む
更新日 9月 4, 2025 C# String Equals(開発者向けの仕組み) 強力なPDFライブラリであるIronPDFと組み合わせることで、switchパターンマッチングは、ドキュメント処理のためのよりスマートでクリーンなロジックを構築できます 詳しく読む
更新日 8月 5, 2025 C# Switch Pattern Matching(開発者向けの仕組み) 強力なPDFライブラリであるIronPDFと組み合わせることで、switchパターンマッチングは、ドキュメント処理のためのよりスマートでクリーンなロジックを構築できます 詳しく読む