Hashify Editorの自動テストを作成しようとしています。ここに私がしたい主張の種類があります:
テキストエリアが特定のセレクターに一致することをアサートします。
テキストエリアが現在空であることをアサートします。
テキストエリアに「_」と入力します。が含まれていること
__
、およびキャレットが 2 つのアンダースコアの間に配置されていることをアサートします。テキストエリアに「こんにちは」と入力します。現在含まれていること
_hello_
、およびキャレットが 2 番目のアンダースコアの前に配置されていることをアサートします。テキストエリアに「_」と入力します。まだ が含まれていること
_hello_
、およびキャレットが 2 番目のアンダースコアの後に配置されていることをアサートします。
私はSodaとZombie.jsで遊んで一日を過ごし、どちらかでこの作業をしようとしました。Soda に近づくことができました。
soda = require 'soda'
browser = soda.createClient ...
browser
.chain
.session()
.open('/')
.typeKeys('editor', '_')
.assertValue('editor', '__')
このアサーションは成功しますが、次のアサーションは成功しません。
.typeKeys('editor', 'hello')
.assertValue('editor', '_hello_')
# ERROR: Actual value '__' did not match '_hello_'
を使用.type
すると、別の方法で失敗します。
.type('editor', 'hello')
.assertValue('editor', '_hello_')
# ERROR: Actual value 'hello' did not match '_hello_'
assaf/zombie の#275に関する提案で期待が高まりましたが、このアプローチを使用してテキストエリアのキープレス ハンドラーをトリガーすることはできませんでした。
おそらく、私はこれについて間違った方法で行っています。Nodeを使用してキープレスハンドラーのテストに成功した人はいますか? 仕事に最適なツールは何ですか?