2

ruby コンテキストから JavaScript コードをテストしたい。具体的には、Ruby でデータベースをセットアップし、JavaScript モデルでクエリを実行し、Ruby から JavaScript の状態を確認したいと考えています。あざけることなくこれをやりたいです。

単純にクライアント ライブラリを v8 コンテキストにロードしようとしましたが、これにより、rubyracer がさまざまな方法 ( window not defineduserAgent not defined、など) で停止します。

さらに、私はヘッドレス ブラウザを使用して JavaScript コードをテストしていますが、これらのケースで活用する必要がある Ruby コンテキストが提供されません。

ブラウザー (または dom シミュレーター) を v8 コンテキストにロードする必要があると思いますが、これを行うためのライブラリがありません。多分あなたは別の考えを持っていますか?

これどうやってするの?

4

1 に答える 1

2

この種のタスクにはcapybara-webkitを使用しました。実際に RSpec ヘルパーを使用する必要はありません。HTML/Javascript に直接送信できるインメモリ ブラウザー インスタンスを作成することもできます。利点はevaluate_script、ブラウザーの Javascript コンテキストと対話する (データをプッシュ/受信する) ために使用できるメソッドを提供することです。

これがあなたのケースに当てはまるかどうかは、Javascript 側からアクセスできるようにする必要がある「ルビ コンテキスト」の種類です。

あなたが興味を持っているかもしれない他のいくつかのプロジェクトもあります:

于 2012-01-31T18:32:55.547 に答える