2011-06-14 3 views
8

私はDjangoプロジェクトに取り組んでいます。 serversideのコードでは、unittestを使って適切なテストカバレッジを得ようとしていますが、若干高いレベルではDjangoテストクライアントを使ったテストがあります。私たちはHudson/JenkinsサーバーをCI用に稼動させており、this articleの行に沿って設定されたものが多かれ少なかれ設定され、テスト合格とカバレッジの統計が与えられます。djangoプロジェクト内のJavascriptテスト、CIとカバレッジ付き

私は私達のjavascriptについても似通ったことがあります。私は単体テストレベルだけでなく、統合/受け入れテストレベルでもテストできるようにしたいと考えています。後者の場合は、完全なDOM JS環境と実行中のdjangoサーバーが必要です。理想的にはDjangoテストクライアントを何とか使いたいので、Djangoテストに慣れてきたようにserverstateを設定することができます。また、CIサーバーからすべてのテストを実行したいと思います。これには、ヘッドレスブラウザ環境(サーバーはデスクトップ環境なしのUbuntu)が必要です。

私はたくさんのものを見つけましたが、CIサーバーでは実行できないような気がします。また、Djangoとの統合はあまり良くないので、サーバー環境のテスト分離を行わない方がよいでしょう。最後に、テスト/コードサイクルをできるだけ早く保つために、かなり良いペースで動作するものが理想的です。

私の望むことをするフレームワークがありますか、誰かが近くに解決策をまとめることができましたか?そして、Djangoとの組み合わせで良いjavascriptテストを行うための一般的な確立されたベストプラクティスがありますか(つまり、私が見逃しているdjangoの人々から推奨されるアプローチはありますか?)

+0

"Cobble together"は私のために大丈夫です。私はjrubyのcelerityとzombie.jsを使ってあなたが求めていることをやってきましたが、解決策は決して非常に満足のいくものではありませんでした。とにかく手作業でテストしなければならなかったブラウザ固有のものが常にありました。 –

+0

ここで同じ質問があります。私は[django-jenkins](https://github.com/kmmbvnr/django-jenkins)のjavascriptを見て、その部分ができるかどうかを見ていきます。 – marc1s

答えて

1

HtmlUNITは、あなたが必要とするもの(JavaScriptをサポートするヘッドレスブラウザ)のいくつかを実行するように見えます。 tooこれは、「ru​​nserver」スタイルの管理コマンドとの比較では難しいので、終了時にカバレッジをダンプしてください。

http://htmlunit.sourceforge.net/

+0

+1については、そのバグトラッカーのコンテンツは少し怖いです:http://sourceforge.net/tracker/?group_id=47038&atid=448266 –

0

あなたはPhantom.JSGhost.py Python実装をしようとする場合があります。私は来るべきLiveServerTestCaseのdjangoの拡張を提供します。

これはPyQt4に依存しているため、プロジェクトのvirtualenvにコピーする必要があります。

関連する問題