問題タブ [unitils]
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.
java - EasyMockとUnitilsはMockito@InjectMocksと同等です
EasyMockまたはUnitilsMock(UnitilsではサポートされていないEasyMock)で、モックをテスト対象のクラスに直接注入するために利用できる手法はありますか?
たとえば。Mockitoでは、クラスのメンバー変数にモックを直接挿入することができます。
EasyMockまたはUnitilsMockでそのようなことを行うことができますか?easymockでは、テストからの注入をサポートするために、CUTに別のセッターメソッドが必要です。私は正しいですか、それとも方向注入はどういうわけか可能ですか?
-ありがとう
spring - Unitils:Springからデータベースプロパティを取得するにはどうすればよいですか
ユニットテストにUnitilswithSpringを使用しています。プロパティファイルを使用して、データソースでSpringを構成しました。
私の質問は、Unitilsに同じデータソースまたは同じプロパティをどのように使用できるかということです。
Unitilsは、url、user、password、driverなどのデータベース構成パラメーターを持つクラスパスunitils.properties内のファイルを想定しています。
以下のSpring構成で使用されるプロパティを使用してUnitilsを構成しようとしましたが、機能しません。
ありがとう、アディ
spring - Unitils - Dbunit ExpectedDataSet の失敗/ブロック
Spring 3.1.0.RELEASE と JPA 2 と Hibernate Provider を使用して Web アプリケーションを作成しています。私はjunit 4.10、dbunit 2.4.8、unitils 3.3、hsqldb 2.2.8でテストを行っています。
作成操作であるサービス層をテストしようとしています。私のDAOには、このメソッドがあります:
私の QuestionServiceTest テストクラス:
スキーマを生成するためにプロパティ hibernate.hbm2ddl.auto = create-drop を使用します。質問テーブルは次のとおりです。
theme_id はテーブルのテーマへの外部キーです。
ExpectedDataSet でテストを起動すると、挿入は機能しますが、テストは終了しません。上のテスト ブロック:
DEBUG: org.dbunit.database.AbstractResultSetTable - クエリ: "ID"、"COUNTRY_CODE"、"CREATION_DATE"、"EMAIL"、"FIRSTNAME"、"LASTNAME"、"ORIGINAL_LANG"、"ORIGINAL_QUESTION"、"THEME_ID" を " PUBLIC"."QUESTION" "ID"順
これはデバッグの最後の行です。
私の unitils.properties は次のとおりです。
私のpersistence.xml:
私は何をすべきか?以前のリリースの dbunit または unitils を既に試しましたが、何も変わりません。期待されるデータセットは本当にクールな機能です。
ありがとう。
mocking - EasyMock ディープ スタブ
EasyMock または UnitilsMock を使用して、次のセキュリティ ステップをモックする必要があります。これを達成する方法を提案してください。
このステップはセキュリティに関連しています。したがって、プリンシパル オブジェクトを作成して 2 層のモックを作成することはできません。私は、mockito が次のように簡単に処理できることを知っています。
しかし、EasyMock または Unitils Mock を使用した同様のソリューションが必要です。単体テストしたい完全なコードを以下に示します。
-ありがとう
mocking - Unitils モックで他のメソッドが呼び出されていないことをアサートする方法
私は知ってMockUnitils.assertNoMoreInvocations();
いますが、1つのモックオブジェクトに対してのみ同様の効果を達成するにはどうすればよいですか?
私はいくつかの方法である種のブラックボックステストを行っています。モックで呼び出す可能性のあるメソッドのリストは知っていますが、他のメソッドを絶対に呼び出さないことを確認する必要があります。
モックのようなものが必要になるようassertOptionallyInvoked()
です。assertNoOtherInovations()
これは Unitils で可能ですか?
java - Unitils DbUnitModule の TestListener を変更する
データベースのテストを支援するために Unitils を使用しようとしています。制約を無効にするために Unitils/DBMaintain 機能を使用したいと考えています。ただし、これにはいくつかの問題があります。DBMaintain を使用してデータベースを作成したくはありませんが、制約を無効にする機能を使用したいと考えています。以下にリストされているカスタムモジュールを使用して、これを実現できました。
これは私が望むものを部分的に解決しますが、テストで使用するテーブルの制約のみを無効にしたいと考えています。私のテストは、複数のスキーマを持つデータベースに対して実行され、各スキーマには何百もの異なるテーブルがあります。DatabaseUnitils.disableConstraints() は、すべてのスキーマのすべてのテーブルの制約を無効にしますが、これは時間がかかりすぎて不要です。
dbmaintain コードを検索すると、Db2Database クラスには、特定のスキーマとテーブル名に基づいて制約を無効にする関数が実際に含まれていることがわかりましたが、このメソッドは保護されています。これには、Db2Database クラスを拡張するか、リフレクションを使用してアクセスできます。
次に、関心のあるスキーマとテーブルを特定できるようにする必要があります。これは、@DataSet アノテーションを観察して、xml の内容に基づいて重要なスキーマとテーブルを特定することで実現できます。これを行うには、TestListener をオーバーライドして、データセットを挿入する前に xml を使用して制約を無効にするように指示できるようにする必要があります。これは私の試みでした:
これは私がやりたいことですが、@DataSet アノテーションを取得して DbUnitCustomListener をトリガーすることができず、代わりにデフォルトの DBUnitModule DbUnitListener を呼び出します。@DataSet アノテーションを使用するときに呼び出されるリスナーをオーバーライドする方法はありますか、または DB2 データベースの特定のスキーマとテーブル レベルの制約を無効にするためのより良いアプローチがありますか?
ありがとう
dbunit - Unitils / DbUnit:マルチデータベース環境でテストする方法は?
データアクセス層の単体テストにUnitils(DbUnitを使用)を使用していますが、複数のデータベースをテストする必要が生じています。それを行うための最良の方法は何ですか?データベースが異なるため、一部のDAOはあるデータベース用であり、別のDAOは別のデータベース用です。
次の選択肢があります。
- 各*DaoTestを、このDAOのデータベースの構成を保持する個別のunitils.propertiesファイルに関連付けます。それも可能ですか?
- データベースごとに個別のテストプロジェクトを用意する(このデータベースの* DaoTestsファイルとデータベースの資格情報を持つunitils.propertiesファイルを保持する)
他のアイデアはありますか?
hsqldb - DBUnitはデータをHSQLDBにインポートできません
起動時にテーブルを作成するために、Hibernateを作成-ドロップモードで使用します。(テーブルはhsqlDBのパブリックスキーマに作成されます)。
何らかの理由で、DBunitは私のテーブルにデータを追加できません。
..。
unitilsアノテーション@DataSetを使用しています。
DBunitが正しいスキーマを使用していないようですが、この問題の解決策を見つけることができません。
注:休止状態は正常に機能します。起動時に成功したリクエストが表示されます。
誰かが同じ問題に直面しましたか?私は何かが足りないのですか?
ありがとう、
spring - unitils、dbunit、および spring を使用した単体テスト
私はユニティル(dbunitに組み込まれている)と春が初めてです。私が働いている新しい場所では、テストの一部は春であり、他のテストは春なしで unitils/dbunit を使用していることがわかります。
スプリングを使用するプッシュがあるため、次の機能をマージしようとしています。
以下を使用した春のテスト:
このクラスには @RunWith(SpringJUnit4ClassRunner.class ) を使用するときに機能する @Autowired ProfileDao があります。
以下を使用した Unitils テスト:
実行時にデータベースなどを正しくロードします。
私が達成しようとしているのは、これらを組み合わせて、 @RunWith(UnitilsJUnit4TestClassRunner.class) アノテーションを使用してクラスを「ユニット化」できるようにすることですが、前のクラスと同様に通常の方法でスプリングを利用することもできます。
問題は、両方とも JUnit4ClassRunner 拡張機能であるため、Spring バージョンを使用しているときにクラスをユニット化できないように見えることです。
さまざまなバリエーションを試しましたが、機能させることができませんでした。
誰でもこれを行うための適切な方法についてアドバイスできますか?
ありがとう
java - UnitilsJUnit4を使用して静的メソッドをモックする方法は?
クラスgetAllCustomers
内にメソッドがあります。このメソッド内で、クラスCustomerService
から別の静的メソッドを呼び出します。今、クラス内CustomerDao
のメソッドのjunitを書いているとき、 ieの静的メソッドへの呼び出しをモックしたい. クラス内
のメソッドの簡単なコード スニペットを次に示します。unitils を使用して静的メソッド呼び出しをモックすることは可能ですか?getAllCustomers
customerService
CustomerDao
getAllCustomers
getAllCustomers
CustomerService
上記のコードは、私が入れようとしている単なる例です。これらのメソッドが静的メソッドとして設計されている理由についての議論は避けてください。それは別の話です。)