テスト
前回の記事にて、WSL2上にPlaywrightをインストールして動作することを確認しました。 WSL2上にインストールしたPlaywrightを、Visual Studio Codeから動かしてみた - メモ的な思考的な これにより環境ができたため、次はPlaywrightのcodegen機能でテストコ…
以前、E2Eテスト用のツールとしてSeleniumやRobot Frameworkをさわっていました。 Selenium カテゴリーの記事一覧 - メモ的な思考的な そんな中、最近のメジャーなE2Eテスト用ツールは何だろうと思い調べてみたところ、CypressとPlaywrightがありました。 Cy…
本屋へ出かけたところ、書籍「単体テストの考え方/使い方」を見かけました。 単体テストの考え方/使い方 | マイナビブックス 表紙に 書名に単体テストと書かれていたこと 原著がManning Publications社なこと とあったため、購入して読むことにしました。 最…
同僚と話している中で、unittest.mock.patchを使ったデコレータの差し替えに関する話題が出ました。 そういえばデコレータは差し替えたことがなかったため、試してみたことをメモします。 なお、「テストファイル群に、デコレータを差し替える/差し替えない…
以前、WebTestやwsgi-interceptを使ってWSGIアプリのテストをしました。 Pythonで、WebTestを使って、WSGIサーバを起動せずにWSGIアプリのテストをする - メモ的な思考的な Pythonで、wsgi-interceptを使って、WSGIサーバを起動せずにWSGIアプリのテストをす…
以前、WebTestを使ってWSGIアプリのテストを行いました。 Pythonで、WebTestを使って、WSGIサーバを起動せずにWSGIアプリのテストをする - メモ的な思考的な 他にもテストツールがないかを探したところ、wsgi-interceptがありました。 cdent/wsgi-intercept:…
Pythonで、「WSGIサーバを起動せずにWSGIアプリをテストする」方法を探してみたところ、ライブラリWebTestがありました。 Pylons/webtest: Wraps any WSGI application and makes it easy to send test requests to that application, without starting up a…
Pythonにて、「モックに差し替えたメソッドが呼ばれた回数や呼ばれた時の引数を検証する」テストコードを作成する機会があったため、メモを残します。 目次 環境 状況 対応 メソッドが呼ばれた回数を検証 メソッドが呼ばれた時の引数を検証 メソッドが呼ばれ…
Pythonにて、「メソッドを差し替え、テスト対象オブジェクトの属性を更新する」テストコードを作成する機会があったため、メモを残します。 なお、良いタイトルが思い浮かびませんでしたので、mock.object(autospect=True)のサンプルとして考えてください… …
Pythonにて、「モックから別のモックを返す」テストコードを作成する機会がありました。 そこで、以下を参考に作成した時のメモを残します。 26.6. unittest.mock — 入門 — Python 3.6.0 ドキュメント Pythonの万能モック MagicMockと戯れる #Pistatium 目次…
pytestでは、monkeypatchを使ってmockを作成できます。 Monkeypatching/mocking modules and environments — pytest documentation モンキーパッチ/モックのモジュールと環境 今回は、monkeypatch.setattr()を使って、 プロダクションコードのメソッドや関…
pytestにて、プライベート関数のテストで悩んだことがあったため、メモを残します。 なお、今回のテスト対象コードは以下とします。 target.py def __double_underscore_function(): return 'double' 目次 環境 プライベート関数のimportについて 通常のコー…
Pythonにて、開発環境に無いモジュールをimportしているプロダクションコードに対して、テストコードを書く機会がありました。 ただ、テストコードにてモジュールをモックに差し替える方法で悩んだため、メモを残します。 目次 環境 対応 ソースコード 環境 …
Django + pytestでテストの初期化や後始末を書く場合、 django.test.TestCaseを使った、setUp()やtearDown() pytestを使った、classic xUnitスタイルのsetup_xxx()やteardown_xxx() pytestを使った、@fixtureのscope などのテストフィクスチャが使えます。 …
DjangoでModelまわりのテストデータを用意するには何を使うのが良いのかを調べてみたところ、factory_boyを使うのが良さそうでした。Djangoの他、Mogo・MongoEngine・SQLAlchemyなどのORMにも対応しているのも良いです。 rbarrois/factory_boy: A test fixtu…
Djangoのテストについて考えていたところ、以下の記事に出会いました。 Djangoのテストの書き方について勉強したのでまとめる - c-bata web Django Best Practice への道 #2 後者の記事にもある通り、pytestではテストの失敗内容を細かく出せそうでした。 そ…
以前、「The Art of Unit Testing, Second Edition with examples in C# 」をxUnit.netで写経していた時に悩んだところなどを残しておきます。 環境 xUnit.net 2.0.0 VisualStudio 2013 Community 準備など xUnit.net Runnerのインストール 「Instant Nancy…
書籍「The Art of Unit Testing, Second Edition with examples in C#」を読み終えた後、引き続き .NETのサンプルがありそうなテスト関連の書籍を探してみたところ、この書籍が見つかりました。 Kindleでワンコイン程度、ページ数も多くなかったので、手にと…
.NETでテストが書かれている書籍を探してみたところ、「The Art of Unit Testing, Second Edition with examples in C# 」のサンプルコードがC#だったため、写経をしながら読んでみました。 洋書なので辞書で調べやすい電子書籍版にするため、出版社のサイト…
The RSpec BookやRailsチュートリアルを終えたタイミングでちょうど Everyday Railsの翻訳本が出たため、今度はこちらを手にとって写経をしてみました。 Everyday Rails - RSpecによるRailsテスト入門 - Leanpub 結論としては、RailsやRSpecを独学で学んでい…
「The RSpec Book」の写経を終えた後、より実践的でテストコードがあるものに手をつけてみようと考え、評判の良い「Railsチュートリアル 4.0版」の写経を行いました。 全11章ですべての章に演習が付いているという、それなりに量のあるチュートリアルでした…
RSpecの使い方に慣れるため、評判の良い「The RSpec Book」を写経しました。 手を動かすチュートリアルとしては、Codebreakerというゲームと、Railsの2種類あり、それぞれの作り方がとても参考になりました。 特に、リファクタリングの方法や考え方まで記載…
C#のテストを書いていたら、.NETのクラス自体のモックを作成したくなりました。 調べてみると、Molesを使えばできるとのことでした。 neue cc - Rx + MolesによるC#での次世代非同期モックテスト考察 ただ、ほとんどの記事はMSTestと組み合わせて使っている…
良いテストの書くにはどうすればよいのだろうと思っていたところに、JUnit実践入門が発売されました。JUnit実践入門 ~体系的に学ぶユニットテストの技法 (WEB+DB PRESS plus)作者: 渡辺修司出版社/メーカー: 技術評論社発売日: 2012/11/21メディア: 単行本(…