問題タブ [django-tests]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
django - djangoでテストするためのテストデータベースを作成しないようにするには?
これらのテストケースを実行すると、プロジェクトのテストケースがいくつか作成されました。メッセージを表示してからデータベースを破棄した後、エイリアス「デフォルト」のテストデータベースが毎回作成されます。私はメッセージだけに関心があるので、テストデータベースの作成を避ける方法は、時間がかかるためです。
django - ログイン REST API をテストしようとすると、エラーが発生します: ユーザー名とパスワードが一致しませんか?
次に、ログインAPIのテストケースを作成しようとしましたが、クラスの外側でテストを作成するとエラーは発生しませんが、クラスを作成 class TestCase(TestCase):
してメソッドを定義するとエラーが発生しますdef test_login(self):
。パスワードの不一致が発生しますが、同じコードの外側で正常に実行されます。
ここで、メッセージが成功した場合の異なる形式であることがわかります
{"message": "", "result": {"username": "john", "session_key": "xyz"}, "error": 0}
失敗した場合
{u'message': u'Username and Password mismatch', u'result': {}, u'error': 1}
。u
すべての変数の前にあります。ここに問題があると思います....
python - djangoでログインレストAPIをテストするには?
Edit2: なぜエラーが発生するのか、パスワードが一致しません。これは、テスト データベースにユーザー名とパスワード自体が含まれていないためです。
編集1:
次に、ログインAPIのテストケースを作成しようとしましたが、クラスの外側でテストを作成するとエラーは発生しませんが、クラスを作成 class TestCase(TestCase):
してメソッドを定義するとエラーが発生しますdef test_login(self):
。パスワードの不一致が発生しますが、同じコードの外側で正常に実行されます。
ここで、メッセージが成功した場合の異なる形式であることがわかります
{"message": "", "result": {"username": "john", "session_key": "xyz"}, "error": 0}
失敗した場合
{u'message': u'username=john and password=xxx Username and Password mismatch', u'result': {}, u'error': 1}
。
login api は次のように記述されていますが、クラス Test_login 内で test を定義すると、if 部分ではなく、else 部分で実行されます。他の部分では、応答とともにユーザー名とパスワードを出力しようとしました。私は次のような応答を得ています{u'message': u'username=john and password=xxx Username and Password mismatch', u'result': {}, u'error': 1}
ここで、ユーザー名とパスワードが正しいことがわかります。なぜいけないのか?私はネットで同様の問題を調べています。同じ問題について言及していました。したがって、私が見たところ、ユーザー名とパスワードは正しいです。どうしたの ?
バックエンド ログイン API
したがって、私が見たところ、ユーザー名とパスワードは正しいです。どうしたの ?
python - djangoでテストデータベースを初期化するには?
私はdjangoで書かれた私のプロジェクトのテストケースを書いています.Here {u'message': u'', u'result': {u'username': u'john', u'user_fname': u'', u'user_lname': u'', u'cur_time': 1442808291000.0, u'dofb': None, u'sex': u'M', u'u_email': u'', u'role': u'', u'session_key': u'xxhhxhhhx', u'mobile': None}, u'error': 0}
we can see other field are empty because I just created user in test cases, but not given other info. データベースは本番データベースから作成されますが、初期化されず、空のままです。そのため、他のフィールドを空にしています。空のデータベースを照会しています。
ログイン REST APIの次のテスト ケースを作成しました。python manage.py testで実行します。上記の問題の解き方を教えてください。
注: 次のアプローチが正しくない場合は、他のアプローチを提案できます。
python - Django 1.8 で失敗するログイン テスト ケース
今日、私は Django でテスト ケースを作成する方法を学んでおり、有効なユーザーの認証を確認するためのテスト ケースを作成しました。
私はすでにusername='rakesh'
and を作成しましたpassword='ranjan'
が、response
be が出てきますFalse
。私はテストケースを書くことにかなり慣れていないので、誰かが私のtest_login
機能の何が問題なのか教えてくれれば幸いです。また、django URL が認証されていないユーザーに対して 403 禁止されているかどうか、および認証されているがスタッフ ユーザーに対しては 403 禁止されていないかどうかを確認するテスト ケースを作成したいと考えています。誰かが私に良いドキュメントを教えてくれませんか。
python - Django での URL リダイレクトのテスト
に行くとhttp://localhost:8000/login/
、ログインフォームが表示されるので、 と を入力username
しpassword
ます。資格情報が正しい場合は、にリダイレクトされhttp://localhost:8000/dashboard/
ます。username
テスト中に私が直面している問題は、私のとpassword
が正しいにもかかわらず、リダイレクトされずhttp://localhost:8000/dashboard/
、http://testserver/admin/login/?next=/dashboard/
. 以下のコードを使用して、django のリダイレクト機能を停止しています。
http://testserver/admin/login/?next=/dashboard/
代わりにリダイレクトされる理由を誰か教えてくださいhttp://localhost:8000/dashboard/
。
私のsettings.py
ファイルでは:
アプリケーションは正常に動作していますが、リダイレクトをテストできません。誰かが私が間違っている場所を教えてもらえますか?
印刷するprint self.client.login(username='rakesh', password='ranjan')
とTrue
、ログインできることを意味しますが、リダイレクトできないのはなぜですか?
更新:セレンも使ってみました
ここでもページの body.text を取得していますが、admin
ページは取得していませんdashboard
。
アップデート :
ダッシュボード ビュー:
python - Djangoでテスト中にリクエストライブラリを使用してステータスコードを取得する方法
Django アプリケーションのテスト ケースを作成していますが、Python で requests パッケージを使用してステータス コードにアクセスし、assert ステートメントを使用しています。このテスト ケースは、スタッフ ユーザーのみを対象としています。
ダッシュボードにアクセスできるのはスタッフ ユーザーだけなので、スタッフ ユーザー オブジェクトを作成しました。次の行
self.client.login(username='abc', password='1234')
が現実になりつつあります。
self.client.get('/dashboard/')
この行を印刷すると、ページの html コンテンツが表示されます。これは、スタッフ ユーザーが にアクセスできることを意味しますdashboard
。
しかし、リクエストモジュールを使用してdashboard
url のステータスコードを確認すると、それが表示されstatus code = 500
、テストが失敗しています。
s = requests.get('http://localhost:8000/dashboard/')
print s.status_code
ここでどこが間違っているのか誰か教えてもらえますか? スタッフユーザーがダッシュボードにアクセスしてその内容をprint self.client.get('/dashboard/')
. ヘルプ!
python - Selenium を使用して Django アプリケーションをテストするときの IntegrityError エラー
セレンを使用してdjangoアプリケーションをテストしていますが、コードは次のようになります。
に対してこのテスト ケースを実行するとlogin_staff
、エラーが発生します
IntegrityError: UNIQUE 制約が失敗しました: auth_user.username
すべてのテストケースの開始時に、新しいデータベースとユーザーインスタンスを作成しているので、なぜこの整合性エラーが発生するのでしょうか? ここで以前のデータベースをフラッシュする方法はありますか? このテストの実行中に新しいデータベースが作成されたにもかかわらず、このエラーが発生し続ける理由は何ですか?
python - ビューがDjangoのスタッフユーザーによってのみアクセスされることをテストする方法
私は Django でのテストを学んでおり、テストしたいビューがあります。このビューには、スタッフ ユーザーのみがアクセスする必要があります。ビューが次のとおりであるとします。
リクエストがスタッフ ユーザーからのものである場合は、リポジトリにリダイレクトする必要があります。それ以外の場合は、 permission denied
. のようなものから始めていtests.py
ます。
from django.contrib.admin.views.decorators import staff_member_required
ここでの問題は、リクエストオブジェクトをユーザーに関連付けていないことです。また、ここでそれらを使用する方法についても知りましたが、わかりません。view
のみがアクセスする必要があることをテストする方法を誰か教えてもらえますstaff users
か?