問題タブ [spectron]
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.
electron - Mocha を使用して Node API を必要とするカスタム モジュールをテストするにはどうすればよいですか? 「未定義のプロパティ 'require' を読み取ることができません」
私はエレクトロンアプリを構築しています。Mocha と Spectron でテストをセットアップしています。モカは回線上でエラーを起こしています
具体的には、ノードの fs モジュールを要求しようとすると、2 行目の filebrowser モジュールで失敗します。
これは、Electron の Main プロセス/Renderer プロセス スコープと関係があると思いますが、Mocha で適切に動作させる方法がわかりません。モジュールが通常 Electron のリモート モジュールを介してアクセスする Node API に依存している場合、モジュールを Mocha テスト ファイルで適切に要求するにはどうすればよいですか?
test/test.js (これは、github ページの spectron サンプル コードです)。package.json スクリプト (npm テスト) を介して「mocha」コマンドで実行します。filebrowser モジュールのテストをまだ書いていないことに注意してください。require ステートメントで失敗しています。
src/filebrowser.js
typescript - Spectron app.client.close() が on('close' イベントをトリガーしない
マルチウィンドウの電子アプリケーションがあります。つまり、ランチャー ウィンドウとメイン ウィンドウで構成されています。
メイン プロセスは最初にランチャーを表示し、すべてが初期化された後、ipc を介してイベントを取得し、ランチャーを非表示にしてメイン ウィンドウを表示します。
メイン ウィンドウで使用on('close')
して、ユーザーがメイン ウィンドウを閉じたことを検出し、ランチャーを再度表示して、ティアダウン ロジックを実行します。その後、アプリは終了します。
これは非常にうまく機能します。今度は、この動作を Spectron と統合テストしたいと思います。ユーザーが閉じるをクリックすることをエミュレートして、ウィンドウに閉じる信号を送信する際に問題があります。
インデックス 1 のウィンドウがメイン ウィンドウであることを確認しました。メイン ウィンドウを閉じると呼び出さapp.client.close();
れますが、メイン ウィンドウのイベントがトリガーされていないことをログで確認できるon('close', )
ため、ランチャーに戻りません。
私が見逃している/誤解しているものはありますか?