2020年9月23日水曜日

Scala&IntelliJチュートリアルのメモ

以下の公式ドキュメントを実行時、説明が少なく詰まった部分についてのメモ。

https://docs.scala-lang.org/ja/getting-started/intellij-track/getting-started-with-scala-in-intellij.html


「Scala を試してみる」項

・一度Runしないと右ペインは表示されない


「Scala コードを記述」項

・Newの中にScala classが無い場合はプロジェクト上で右クリックしてAdd Framework supportからScalaを追加

https://stackoverflow.com/a/39997079


「プロジェクトを実行」項

・ログはsbt shellタブ内に表示されている(コンソールではない)


「テストを作成」項

・カーソルがクラス内に無いと、右クリックでテスト実行が出てこない

2020年9月20日日曜日

Djangoチュートリアル5での投票機能のテスト

DjangoでのPOSTのテスト

https://docs.djangoproject.com/ja/3.1/intro/tutorial05/#ideas-for-more-tests

Django公式チュートリアルの投票システムで、投票を実行した際のテストの記述を考える。

まず、新しいQuestionと、それに紐付く2件のChoiceを用意する。

まずは、単純にclient.postで、POSTデータを渡しつつURLを呼び出してみる。

この場合、レスポンスとしてはstatus_code=302が返って来る。

つまり、リダイレクト前のページ情報が取得されている。

参考:【Django】テストでリダイレクト先のページを検証する方法

https://qiita.com/kozakura16/items/c08b8cb8da12ace78658

リダイレクト先のページ内容まで検証する際は、client.post()メソッドの引数として、

follow=True

を渡してあげる。

これにより、最終的にリダイレクトされたページがレスポンスに入るので、出力の検証コードが記述できるようになる。

これは、公式ドキュメントの Testing Toolsページ内、getメソッドの項で触れられている。

https://docs.djangoproject.com/en/3.1/topics/testing/tools/#django.test.Client.get

2020年9月10日木曜日

Djangoチュートリアル5でのテスト実行時エラー

テストの実行

https://docs.djangoproject.com/ja/3.1/intro/tutorial05/#running-tests

上記のDjangoの自動テストのチュートリアルにて、以下のコマンドを実行。

実行後、下記のエラーメッセージが表示された。

修正箇所は、「/mysite/settings.py」のDATABASES設定内。

'NAME': BASE_DIR / 'db.sqlite3',

'NAME': str( BASE_DIR / 'db.sqlite3' ),

os.pathの方を使えばこのエラーは起きなさそう。


参考サイト

Fixed #29983 -- Replaced os.path with pathlib.Path. #10684

https://github.com/django/django/pull/10684

How to use pathlib.Path in Django?

https://github.com/django/django/pull/10684

Django tutorial: `python manage.py startapp polls` fails

https://forum.djangoproject.com/t/django-tutorial-python-manage-py-startapp-polls-fails/2718

2020年9月8日火曜日