2

Scala と Play Framework 2 を使用して REST API を開発しています。今こそ、この Web サービスの受け入れ仕様を作成するのに適しているようです。この API には、Web サイトと iPad アプリの 2 種類のユーザーがいます。

では、問題は、アクセプタンス スペックを書くためにどちら側を選ぶべきかということです。


より具体的に言うと、受け入れ仕様とは、次のような種類のテストを意味します。

"user" should {
  "be able to register with login, email and pass" in {
      ... // registration process here
   }
}

ここに私のチェックリストがあります

サーバー側 (scala + specs2)

  • [+] ビルド プロセスへの統合が容易
  • [+] scala に慣れる
  • [-] 一部のブラウザ固有の詳細 (CORS など) を見落としやすい

クライアント側 (js + シンプルな ajax またはいくつかのテスト フレームワーク)

  • [-] 自動化が難しい (node.js、v8、phantomJS などが必要)
  • [-] scala に慣れる
  • [+] すべてのブラウザの詳細が考慮されます
  • [+] 自分のドッグフードを食べる。クライアント側プログラマーとしてサーバー側APIを使用する能力
  • [+] クライアント側プログラマ向けの例
4

2 に答える 2

1

私の意見では、「サーバー側」と呼ばれるテストは単体テストである可能性があります。それらは高速でビルド プロセスに統合されている必要があります。クライアント側に属する CORS などの機能ではなく、API の正確性をテストする必要があります。

クライアント側では、Selenium IDEを使用することをお勧めします。これは、アクションを記録し、ページで何が起こったかをアサートできるブラウザ プラグインであり、後ですべてのアクションを人間よりもはるかに高速に再生できます。

ただし、それをビルド ワークフローに統合した経験はないので、これもビルド プロセスに含める必要がある場合は、 CasperJSを評価することをお勧めします。素晴らしいドキュメントと便利なテスト機能があります。

受け入れテストだけが必要な場合は、間違いなくフロントエンドに行きます.

于 2013-09-30T16:19:51.933 に答える