SQLiteで動作するメソッドが異なるクラスがあります。それらにはadd
,remove
,update
などがあります。私はJUnitを使用していくつかのテストを実行しようとしています。問題は、テストがランダムな順序で実行されることです。したがって、add
の前にremove
メソッドを試してみることになりますが、これは必ず失敗します。この種のテストを実行するには、どのような方法が適していますか?SQLiteでJUnitテストを正しく実行する方法
0
A
答えて
1
私はテストが実行順序に依存すべきではないと思います。私がこの問題に直面するなら、準備されたデータベース(よく定義された状態を持つ)で各テストを開始しようとします。
あなたが定義できる状態に基づいて、たとえば、各テストの一部であるアサーションたとえば、add
は、アイテムがまだ格納されていない場合は、データベースアイテムのサイズを増やす必要があります。 remove
の場合、アイテムが含まれていればサイズが小さくなります。
@Before
と@After
アノテーションを使用できます。それらをデータベース(テーブル)の準備に使用するメソッドに追加します。
1
開始時のビルドdbは、本番環境(例えば飛行路)上に構築されたのと同じ方法です。 @Before
を使用してデータベースをリセットします。すべてのテーブルを切り捨て、シーケンスをリセットします。 add
をテストする場合は、おそらく何も必要ありません。アイテムを追加して後でフェッチするだけです。このテストに必要なデータを準備するには、それぞれのテストで 'given'フェーズを使用します。一意のインデックスをテストする場合は、同じキーを2回追加し、2回目の挿入後に必要なエラーがあると主張します。もしあなたがremove
をテストしたら、既に(add
をテストした)項目を挿入し、それがデータベースにないことをアサートしてください。
関連する問題
- 1. コマンドラインでJUnitテストとしてjavaクラスを実行する方法
- 2. 非Javaプロジェクトでjunitテストを実行する方法
- 3. Androidスタジオ2.1.3で単純なjunitテストを実行する方法
- 4. コマンドラインでJUnitテストを実行する方法は?
- 5. コマンドラインでJunitテストを実行する
- 6. JenkinsでGroovy JUnitテストを実行する
- 7. JUnitテストなし実行可能な方法で例外
- 8. junitテストの実行結果をデータベースに記録する方法
- 9. JUnit 5 - 別のテスト合格に依存してテスト実行を行う方法
- 10. junitテストの実行方法を順番に並べる
- 11. JUnitテストを実行するYMLファイル
- 12. JUnitテストのみを実行するAntタスクはテストを実行しません
- 13. Android jUnitテストjava.lang.NoClassDefFoundError:android/database/sqlite/SQLiteOpenHelper
- 14. 外部アプリを正しく実行する方法をテストするには?
- 15. GWTTestCaseで現在のJunitテストを実行
- 16. SpringでJUnitテストを実行中のヌルサービス
- 17. JUnit:テストutilsクラスで「実行可能メソッドなし」を避ける方法
- 18. テスト環境でjunit/TestNGテストケースを実行する方法はありますか?
- 19. JUnit 5では、すべてのテストの前にコードを実行する方法
- 20. SQLiteでCREATE INDEXを正しく行う方法
- 21. 生産現場でのJUnit統合テストを実行する最良の方法
- 22. Appium、Cucumber、Junit複数のデバイスで同時にテストを実行する方法
- 23. 並列で実行できるJPAに対してjunitテストを書くには?
- 24. Junitと並行してテストを実行する
- 25. JUnitテストを並行して実行する
- 26. 同じビルドでJUnit 4とJUnit 5のテストを実行
- 27. PRAGMA synchronous = OFFでSQLiteをより速く実行する方法
- 28. JHipster&Gradle:STSのJunitテストを実行
- 29. EclipseフラグメントのJUnitテストを作成する正しい方法は何ですか?
- 30. NoSuchBeanDefinitionException:Springブート2.0.0.M6でJunitテストを実行しているPlatformTransactionManager
'@ BeforeClass'を使って私がリセットして' .db'に必要なすべてのデータテスト。 –