I developing REST API using Scala and Play Framework 2. Looks like right now is good time for writing acceptance specifications for this web service. There are two kinds of users for this API: web site and ipad app.
So, the question is which side should I choose to write acceptance specs?
To be much more concrete, by acceptance specifications I means such kind of tests:
"user" should {
"be able to register with login, email and pass" in {
... // registration process here
}
}
Here is my check lists
Server side (scala + specs2)
- [+] easy to integrate into build process
- [+] more familiar with scala
- [-] easy to miss some browser specific details (for example CORS)
Client side (js + simple ajax or some testing framework)
- [-] harder to automate (requires node.js, v8, phantomJS or something like that)
- [-] more familiar with scala
- [+] all browser details are taken in account
- [+] eat your own dog food. Ability to use server side api as a client side programmer
- [+] kind of examples for client side programmers