テスト

WSL2 + Playwrightな環境にて、codegen機能によりReactアプリやDjango管理サイト向けのテストコードを自動生成してみた

前回の記事にて、WSL2上にPlaywrightをインストールして動作することを確認しました。 WSL2上にインストールしたPlaywrightを、Visual Studio Codeから動かしてみた - メモ的な思考的な これにより環境ができたため、次はPlaywrightのcodegen機能でテストコ…

WSL2上にインストールしたPlaywrightを、Visual Studio Codeから動かしてみた

以前、E2Eテスト用のツールとしてSeleniumやRobot Frameworkをさわっていました。 Selenium カテゴリーの記事一覧 - メモ的な思考的な そんな中、最近のメジャーなE2Eテスト用ツールは何だろうと思い調べてみたところ、CypressとPlaywrightがありました。 Cy…

「単体テストの考え方/使い方」を読んだ

本屋へ出かけたところ、書籍「単体テストの考え方/使い方」を見かけました。 単体テストの考え方/使い方 | マイナビブックス 表紙に 書名に単体テストと書かれていたこと 原著がManning Publications社なこと とあったため、購入して読むことにしました。 最…

Pythonで、unittest.mock.patchを使ってデコレータを差し替える

同僚と話している中で、unittest.mock.patchを使ったデコレータの差し替えに関する話題が出ました。 そういえばデコレータは差し替えたことがなかったため、試してみたことをメモします。 なお、「テストファイル群に、デコレータを差し替える/差し替えない…

Pythonで、Werkzeug.testを使って、WSGIサーバを起動せずにWSGIアプリのテストをする

以前、WebTestやwsgi-interceptを使ってWSGIアプリのテストをしました。 Pythonで、WebTestを使って、WSGIサーバを起動せずにWSGIアプリのテストをする - メモ的な思考的な Pythonで、wsgi-interceptを使って、WSGIサーバを起動せずにWSGIアプリのテストをす…

Pythonで、wsgi-interceptを使って、WSGIサーバを起動せずにWSGIアプリのテストをする

以前、WebTestを使ってWSGIアプリのテストを行いました。 Pythonで、WebTestを使って、WSGIサーバを起動せずにWSGIアプリのテストをする - メモ的な思考的な 他にもテストツールがないかを探したところ、wsgi-interceptがありました。 cdent/wsgi-intercept:…

Pythonで、WebTestを使って、WSGIサーバを起動せずにWSGIアプリのテストをする

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にて、「モックに差し替えたメソッドが呼ばれた回数や呼ばれた時の引数を検証する」テストコードを作成する機会があったため、メモを残します。 目次 環境 状況 対応 メソッドが呼ばれた回数を検証 メソッドが呼ばれた時の引数を検証 メソッドが呼ばれ…

Pytnonで、unittest.mock.patch.objectのautospecとside_effectを使って、テスト対象の属性(self.attr)を更新する

Pythonにて、「メソッドを差し替え、テスト対象オブジェクトの属性を更新する」テストコードを作成する機会があったため、メモを残します。 なお、良いタイトルが思い浮かびませんでしたので、mock.object(autospect=True)のサンプルとして考えてください… …

Pythonで、MagicMockのreturn_valueを使って、モックから別のモックを返してみた

Pythonにて、「モックから別のモックを返す」テストコードを作成する機会がありました。 そこで、以下を参考に作成した時のメモを残します。 26.6. unittest.mock — 入門 — Python 3.6.0 ドキュメント Pythonの万能モック MagicMockと戯れる #Pistatium 目次…

Python + pytestで、monkeypatch.setattr()を使ってみた

pytestでは、monkeypatchを使ってmockを作成できます。 Monkeypatching/mocking modules and environments — pytest documentation モンキーパッチ/モックのモジュールと環境 今回は、monkeypatch.setattr()を使って、 プロダクションコードのメソッドや関…

Python + pytestで、プレフィクスがアンダースコア2つの関数(プライベート関数)をテストする

pytestにて、プライベート関数のテストで悩んだことがあったため、メモを残します。 なお、今回のテスト対象コードは以下とします。 target.py def __double_underscore_function(): return 'double' 目次 環境 プライベート関数のimportについて 通常のコー…

Pythonのテストコードで、モジュールをモックに差し替える

Pythonにて、開発環境に無いモジュールをimportしているプロダクションコードに対して、テストコードを書く機会がありました。 ただ、テストコードにてモジュールをモックに差し替える方法で悩んだため、メモを残します。 目次 環境 対応 ソースコード 環境 …

Django + pytestで、setupやteardown、fixtureのscopeなどの実行タイミングを調べてみた

Django + pytestでテストの初期化や後始末を書く場合、 django.test.TestCaseを使った、setUp()やtearDown() pytestを使った、classic xUnitスタイルのsetup_xxx()やteardown_xxx() pytestを使った、@fixtureのscope などのテストフィクスチャが使えます。 …

Django + factory_boyで、1対多や多対多のリレーションを持つテストデータを作る

DjangoでModelまわりのテストデータを用意するには何を使うのが良いのかを調べてみたところ、factory_boyを使うのが良さそうでした。Djangoの他、Mogo・MongoEngine・SQLAlchemyなどのORMにも対応しているのも良いです。 rbarrois/factory_boy: A test fixtu…

Djangoアプリについて、pytest-djangoを使ってテストしてみた

Djangoのテストについて考えていたところ、以下の記事に出会いました。 Djangoのテストの書き方について勉強したのでまとめる - c-bata web Django Best Practice への道 #2 後者の記事にもある通り、pytestではテストの失敗内容を細かく出せそうでした。 そ…

「The Art of Unit Testing」を写経した時の、xUnit.netまわりのメモ

以前、「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…

「Starting to Unit Test: Not as Hard as You Think」を読んだ

書籍「The Art of Unit Testing, Second Edition with examples in C#」を読み終えた後、引き続き .NETのサンプルがありそうなテスト関連の書籍を探してみたところ、この書籍が見つかりました。 Kindleでワンコイン程度、ページ数も多くなかったので、手にと…

「The Art of Unit Testing, Second Edition with examples in C# 」を読んだ

.NETでテストが書かれている書籍を探してみたところ、「The Art of Unit Testing, Second Edition with examples in C# 」のサンプルコードがC#だったため、写経をしながら読んでみました。 洋書なので辞書で調べやすい電子書籍版にするため、出版社のサイト…

「Everyday Rails - RSpecによるRailsテスト入門」を写経してみた

The RSpec BookやRailsチュートリアルを終えたタイミングでちょうど Everyday Railsの翻訳本が出たため、今度はこちらを手にとって写経をしてみました。 Everyday Rails - RSpecによるRailsテスト入門 - Leanpub 結論としては、RailsやRSpecを独学で学んでい…

Railsチュートリアル 4.0版 の写経を完走した

「The RSpec Book」の写経を終えた後、より実践的でテストコードがあるものに手をつけてみようと考え、評判の良い「Railsチュートリアル 4.0版」の写経を行いました。 全11章ですべての章に演習が付いているという、それなりに量のあるチュートリアルでした…

The RSpec Book用にVagrant環境を作成し、写経してみた

RSpecの使い方に慣れるため、評判の良い「The RSpec Book」を写経しました。 手を動かすチュートリアルとしては、Codebreakerというゲームと、Railsの2種類あり、それぞれの作り方がとても参考になりました。 特に、リファクタリングの方法や考え方まで記載…

VisualStudio2010 SP1 + NUnit + Moles の環境を構築する

C#のテストを書いていたら、.NETのクラス自体のモックを作成したくなりました。 調べてみると、Molesを使えばできるとのことでした。 neue cc - Rx + MolesによるC#での次世代非同期モックテスト考察 ただ、ほとんどの記事はMSTestと組み合わせて使っている…

JUnit実践入門を C# 4.0 + NUnit + RhinoMocks + NSubstitute で書いてみた (一部書けず)

良いテストの書くにはどうすればよいのだろうと思っていたところに、JUnit実践入門が発売されました。JUnit実践入門 ~体系的に学ぶユニットテストの技法 (WEB+DB PRESS plus)作者: 渡辺修司出版社/メーカー: 技術評論社発売日: 2012/11/21メディア: 単行本(…