2011-08-13 23 views

cevap

6

Bu çok kolaydır - yapmanız gereken tek şey zihninizi değiştirmektir - ne kapibara ne de salatalık yerel ortama bağlı değildir, internette bulunan uygulamayı test edebilir ve bunu umursamamaktadır. İsterseniz google.com adresini bile test edin.

belirli problem için

Capybara.run_server = false 
Capybara.server_port = 8000 # or whatever port is your instance of nginx is configured to serve 
Capybara.app_host = 'http://www.google.com' # if your instance is running on remote machine, else just drop it and capybara will use localhost 

Kolayca salatalık kanca kullanarak uygulamanın yeniden başlatılması kontrol edebilirsiniz, her test öncesinde veya test paketi önce yeniden yapılandırabilirsiniz ayarlamak gerekir. (Bkz. cucumber wiki) Kanca içinde FileUtils.touch tmp/restart.txt komutunu vermeniz gerekir. Veritabanı ile aynı - istediğiniz zaman onu kesmek için kanca ayarlayabilirsiniz (Bkz. database_cleaner gem)

+0

Teşekkürler iafonov. Ray olmayan veritabanları için veritabanı temizleyicisine bir alternatif var mı? Benim java uygulaması bir mysql veritabanı kullanıyor. – Alex

+0

Java veya Ruby tarafında bir ORM var mı? Neyse, tabloların listesini alıp silme komutları vererek ya da her testten önce taze dökümü yükleyerek Java veya Ruby'deki naif kesintileri kolayca uygulayabilirsiniz (ancak güncel durumda bunu korumak için kıçta ağrı olabilir) – iafonov

+0

Orm olmadan bunu yapmanın bir yolu var mı? Bir orm için – Alex