タグ

testiumに関するmiya-janのブックマーク (2)

  • テストできないコードをE2Eテストを使ってリファクタリングしよう

    ユニットテストがしにくい状態となってるコードをTestiumを使ったE2Eテストを書いてリファクタリングしてみる話です。 例えば、以下のようなjQueryで書いたコードは外(テストコード)から取り出すポイントがないので、ユニットテストを書くのは難しいと思います。(そもそもViewのコードなので) 特定のバージョンでの変更点を簡単に確認できるよう、 「Aの列のラジオボタンを選ぶと同じ行より一つ下にあるBの列のラジオボタンを自動で選ぶ」 という補助機能 $(document).ready(function () { // seq: シーケンス番号 $.each(["new_version", "old_version"], function () { $("input[name='" + this + "']").each(function (idx, elem) { if (idx == 0

    テストできないコードをE2Eテストを使ってリファクタリングしよう
  • Testium

    Testium #e2e_sushi 自己紹介 azu @azu_re Web scratch, JSer.info 概要 Testiumって何? 同期的なWebDriver API PageObjectパターン Testium グルーポンが作ってるE2Eテストフレームワーク 同期的なWebDriver APIが特徴 同期的なWebDriver click() などのブラウザ操作が同期的な処理になってる groupon-testium/webdriver-http-sync testiumのbrorser APIはこれをラップしたもの Nodeには同期HTTP APIがないのでrequest-syncを使ってる なぜ同期的(なぜ非同期)? 非同期だとコールバック地獄が多発 それを解消するためにPromiseやメソッドチェーンを多様する Jasmineのexpect(promise)のような

    miya-jan
    miya-jan 2015/01/29
    最後に書かれてるけど、個人的にはコンストラクタでnavigateするのはダウトで、AppPage.openみたいなstaticメソッドでnavigateとインスタンス生成を行うのが柔軟な気がする。このへんベストプラクティスほしい。
  • 1