0

単体テストで、デバッグ中にエラーが発生します。奇妙なことに、テストを実行するときはいつでもこれを取得できません (テストをデバッグするときだけです)。エンティティの 1 つを NHibernate Validator で検証しようとすると、例外が発生します。次の行は、以下の例外をスローします。

InvalidValue[] invalidValues = validatorEngine.Validate(group);

例外: ProxyFactoryFactory が構成されていませんでした。使用可能な NHibernate.ByteCode プロバイダーの 1 つを使用して、session-factory 構成セクションの「proxyfactory.factory_class」プロパティーを初期化します。例: NHibernate.ByteCode.LinFu.ProxyFactoryFactory、NHibernate.ByteCode.LinFu 例: NHibernate.ByteCode.Castle.ProxyFactoryFactory、NHibernate.ByteCode.Castle

私はバリデータエンジンを次のように設定しています:

var nhvConfiguration = new FluentConfiguration();
        nhvConfiguration
           .SetDefaultValidatorMode(ValidatorMode.OverrideAttributeWithExternal)
           .Register(Assembly.Load("Business.Objects")
           .ValidationDefinitions());

        validatorEngine = new ValidatorEngine();
        validatorEngine.Configure(nhvConfiguration);

ここで何が起こっているのかわかりません。テストの実行中だけでなく、デバッグ中にこのエラーが発生する理由を知っている人はいますか?

NHibernate 3.1 と NHibernate バリデーター 1.3 を使用しています

4

2 に答える 2

1

以前に nhibernate バリデーターを使用したことはありませんが、nHibernate では ProxyFactory クラスを構成の一部として指定する必要があります。そうしないと、この種のエラーがスローされます

私は通常、xml マッピング ファイルと構成ファイルを使用します。これは通常、追加する行です。 <property name="proxyfactory.factory_class">NHibernate.ByteCode.LinFu.ProxyFactoryFactory, NHibernate.ByteCode.LinFu</property>

どのプロキシ ファクトリでもかまいません。それは好みに帰着します。

于 2011-04-08T03:47:38.623 に答える
0

この例外をスローした理由は、nhibernate構成とは無関係でした。次の投稿では、この例外が発生した理由を説明しています。

C#単体テストでキャッチされない例外

于 2011-04-15T03:37:32.440 に答える