問題タブ [teardown]
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.
python - Python単体テスト:ファイルを削除するtearDownClass
テストメソッドを持つ unittests クラスがあります。メソッドの中で、モジュール内にある静的ファイルと比較するファイルを一時的に作成します。テストの実行後、そのファイルを削除したい
setUp
メソッドで、属性を定義しました:
self.dir_path
ファイルのディレクトリへのパスを示します。したがって、ファイルを取得するには、次のように書くだけです。
それを削除するには、次のようにします。
しかしtearDownClass
、クラスメソッドであり、表示されませんself.dir_path
。内部tearDown
メソッドを使用すると、すべてのテストの後にそのファイルを削除しようとし (そのファイルはテスト メソッドの 1 つだけで作成されます)、失敗します。
では、そのような場合に最適なオプションは何ですか? そのファイルが作成されたテストメソッド内でそのファイルを削除する必要がありますか? まさにそれを行うためのティアダウンメソッド機能を利用しようと思ったのですが、できないようです。
または、一時的にファイルを作成し、テスト後に削除するよりも良い方法がありますか?
ノート。Excel 形式で生成されたレポートをテストしていて、ファイルが 1 つのライブラリで生成されているため、そのファイルを作成する必要がありますが、生成されたコンテンツは別のライブラリでチェックされます (xlwt
作成のxlrd
ため、結果を静的な Excel ファイルと比較するため)。
installation - googletest グローバル環境
::testing::Environment を使用してグローバル環境をセットアップしようとしています。私は 28 のテストをすべて作成し、28 のクライアントと 28 のサーバーを作成しましたが、1 つのクライアントと 1 つのサーバーのみを使用したいと考えています。共有リソースで ::Environment または ::Test のどちらを使用すべきかわかりません。
unit-testing - 派生クラスの setUpClass が失敗した場合、setUpClass で起動された phantomjs を確実に強制終了します
SeleniumTestCase
その中に PhantomJS を起動し、その中でそれsetUpClass
を殺すクラスを書きましたtearDownClass
。ただし、派生クラスsetUpClass
でエラーが発生した場合、PhantomJS プロセスはSeleniumTestCase.tearDownClass
呼び出されないため、ハングしたままになります。
出力 (「Tearing Down」は印刷されないことに注意してください)
setUpClass
スイートが失敗した後に PhantomJS を強制終了するにはどうすればよいですか? setUp
andを使用するように切り替えることができることはわかっていaddCleanup
ますが、すべてのテストの前に PhantomJS を再起動すること (およびそれを使用してアプリに再度ログインすること) は避けたいと考えています。
entity-framework - Entity Framework を使用したデータ分解
私はいくつかのアドバイスの後です。Orm として Entity Framework を使用するプロジェクトに取り組んでいます。全体を通してコードファーストのアプローチを使用しています。私たちもビヘイビア駆動開発を使用しており、specflow と selenium を使用して一連の自動化された Web テストを作成しました。テスト中に作成されたデータベースからすべてのデータを削除できる必要があります。したがって、理想的には、テスト後に実行される、作成したテスト フックで、テスト中に追加されたすべてのデータを削除したいと考えています。
理想的には、コード ファーストのアプローチを維持したいのですが、提案は受け付けています。他の人がどのように解決策を提供しているかを見て、アドバイスをもらいたいです。
c# - 複数のテスト実行の間にシステムの初期状態に戻す方法
私はNunitを使用していますが、すでに構築されたすべてのシングルトンを含む実際の初期化状態に戻る方法があるのだろうか.
現在、シングルトンにリセットメソッドを追加する回避策で解決しましたが、本番コードがクリーンではないため、気に入りません。
私が理解している限り、単一のトーンは一度初期化され、すべてのテストの実行中に利用可能なヒープに保持されます。
Nunit テストフィクスチャのティアダウン機能でヒープをきれいにする方法はありますか?
次の(醜い)コードサンプルで問題を再現することができました。両方のテストが次々に実行されたときに、2番目のテストが失敗したことがわかります...
testing - Robotframework: プロセスを強制終了します
Winium + Selenium をスローする GUI アプリのテストを作成しようとしています。
単純なcalc.exeでこの方法を試してみたところ、うまく機能しているので、問題はwiniumだと思います。
GUIアプリを強制終了するには? Terminate Process をスローするため、動作していません(
アルテム