問題タブ [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.

0 投票する
1 に答える
564 参照

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

0 投票する
2 に答える
688 参照

typescript - Spectron app.client.close() が on('close' イベントをトリガーしない

マルチウィンドウの電子アプリケーションがあります。つまり、ランチャー ウィンドウとメイン ウィンドウで構成されています。

メイン プロセスは最初にランチャーを表示し、すべてが初期化された後、ipc を介してイベントを取得し、ランチャーを非表示にしてメイン ウィンドウを表示します。

メイン ウィンドウで使用on('close')して、ユーザーがメイン ウィンドウを閉じたことを検出し、ランチャーを再度表示して、ティアダウン ロジックを実行します。その後、アプリは終了します。

これは非常にうまく機能します。今度は、この動作を Spectron と統合テストしたいと思います。ユーザーが閉じるをクリックすることをエミュレートして、ウィンドウに閉じる信号を送信する際に問題があります。

インデックス 1 のウィンドウがメイン ウィンドウであることを確認しました。メイン ウィンドウを閉じると呼び出さapp.client.close();れますが、メイン ウィンドウのイベントがトリガーされていないことをログで確認できるon('close', )ため、ランチャーに戻りません。

私が見逃している/誤解しているものはありますか?