問題タブ [nbuilder]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - オブジェクトを生成するときにゲッターをインターセプトするようにNBuilderに指示するにはどうすればよいですか?
私はこのNBuilderコードを持っています:
かなりシンプル。
しかし、レビューのこのプロパティではエラーが発生しています。
基本的に、NBuilderはゲッターを含むすべてのプロパティを評価しようとしていると思いますが、そのUserプロパティは存在しません。
私がこれをしても:
それでもエラーが発生します。
NBuilderにそのゲッターをインターセプトするように指示する方法はありますか、または評価を試みる前にUserプロパティを設定するにはどうすればよいですか?(したがって、エラーを防ぎます)。
c# - 同じ名前空間内のクラスと拡張メソッドのコンテナクラス。メリットは何ですか?
ユニットテストでNBuilderを試していました。優れたライブラリ。ただし、以下のクラスとインターフェースの構造については説明できませんでした。
名前
FizzWare.NBuilder
空間内:ISingleObjectBuilder
SingleObjectBuilderExtensions
の
FizzWare.NBuilder.Implementation
- IObjectBuilder`
ObjectBuilder
SingleObjectBuilderExtensions
の単なるラッパーIObjectBuilder
です。クライアントコードは通常、
Builder
を与える静的メソッドを持つという名前のクラスを使用する必要がありますISingleObjectBuilder
。クライアントコードでクラスをインスタンス化する必要はありません。
今、私はのポイントを取得していませんSingleObjectBuilderExtensions
。それはどんな種類の設計上の利益をもたらしますか?ISingleObjectBuilder
2つのインターフェースが同じ名前空間にある場合、メソッドが直接特別に含まれるのはなぜですか。
c# - 最初のパラメーターをサブタイプにキャストする拡張メソッド。これはいいですか?
同じ文脈で、ここで別の質問がありました。今、私は別のクエリがあります。
NBuilderでは、名前空間には、の拡張メソッドのコンテナであるFizzWare.NBuilder
インターフェイスISingleObjectBuilder
とクラスが含まれています。SingleObjectBuilderExtension
ISingleObjectBuilder
現在、拡張メソッドには一般的な構文があります。
したがって、メソッドはを受け入れISingleObjectBuilder
ますが、パラメータIObjectBuilder
がのサブインターフェイスであると想定していることがわかりますISingleObjectBuilder
。
ここで、このシナリオについて考えてみましょう。
- MySingleObjectBuilder:ISingleObjectBuilderを実装しました。
- 私が使用しているクライアントコードでは、
FizzWare.NBuilder
アクセスできますMySingleObjectBuilder.ExMethod()
- これを行うと、
MySingleObjectBuilder
はではないため、明らかに例外が発生しIObjectBuilder
ます。
もちろん、拡張メソッドがの場合はより安全ですIObjectBuilder
。さて、問題は、より安全なオプションの方が良いのではないかということです。
c# - 検証を考慮したビルダーでテストデータを自動的に作成する方法
NBuilderを使用してテストデータを作成していますが、クラスには多数のプロパティがあるため、手動で作成することは問題外です。NBuilderを使用する前に、いくつかのSQL選択をcsvファイルにコピーして貼り付け、自動マッピングを使用したテストでそれらを再作成しました。NBuilderなどを使用したいのですが、エンティティ/DBの制限の問題に直面しています。
データを生成するときにマッピングファイルを考慮に入れるようにこれらのビルダーの一部に指示できる方法はありますか?たとえば、マッピングがある場合
フレームワークがそれらの要件に従ってそのプロパティのテストデータを生成することを期待します。
c# - NBuilder - 複数の派生クラスを含むコレクションを作成する方法
私はエンティティを持っています:
BaseEntity
派生クラスのインスタンスのみを含むリスト (コレクション) を作成することは可能ですか?
ありがとう
編集
つまり、NBuilder を使用してリストを作成することは可能ですかBuild<BaseEntity>
c# - テストデータを使用してタイプのインスタンスを作成する方法はありますか?
タイプがあり、テストデータを使用してそのインスタンスを作成したいと思います。
NBuilderやAutoFixtureのようなフレームワークは、設計時に既知のタイプのインスタンスを作成できることを知っています(<T>
)。それらのフレームワークは、実行時にのみ認識されるタイプに基づいてインスタンスを作成できますか(Type
)?
最後に、私は次のようなことをしたいと思います。
c# - NBuilder でリストのリストを作成する
NBuilder とパラメータ数の不一致が発生しています。基本的にリストのリストを構築しようとしていますが、NBuilder を使用してこれを行う例が見つからないようです。
unit-testing - NBuilder - EmailAddress などのランダム型をさらに作成する
現在、NBuilder を使用してモック リポジトリに Customers を生成しています。残念ながら、ランダムな文字列に対して私が持っている唯一のオプションは .Phrase() のようです
メールアドレスのような半感覚的なデータを生成できるようになりたいです。これを行うために NBuilder をカスタマイズする方法はありますか、または 2 つの .Phrase() 呼び出しを @ 記号でつなぎ合わせる必要がありますか?