並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 131件

新着順 人気順

testingの検索結果1 - 40 件 / 131件

  • 脳に収まるコードの書き方を読んだ。面白かった。 - Mitsuyuki.Shiiba

    いただきましたー!わーい。脳に収めるぞー! @haradakiro @ryuzee pic.twitter.com/3Qd6EvPioU— SHIIBA Mitsuyuki (@bufferings) June 13, 2024 明日(2024年6月18日)発売! www.oreilly.co.jp どう書くのがいいんだろうなぁ? 複雑なコードと向き合うときは「あー、これはメモを取りながら読まないと迷子になるやつだ」ってなる。最初はわりとキレイに作られていたとしても、機能追加を重ねていくとだんだん読めなくなっていく。 だから「時間が経っても読みやすいコードってどう書くのがいいんだろうなぁ?何かヒントがあるかなぁ?」って思いながらこの本を開いた。先に書いておくと、ヒントはあった。 アウトサイドインのTDD 全然予想してなかったから、おー!と思ったのが、説明をTDDで進めていくってところ。好き

      脳に収まるコードの書き方を読んだ。面白かった。 - Mitsuyuki.Shiiba
    • 2024年版「基本的なウェブアプリケーションを構築する」のチュートリアル手順まとめてみた[Amplify Gen2対応] | DevelopersIO

      初めてAWSのサーバレスサービスを学習するときに利用できる「基本的なェブアプリケーションを構築する」の内容を2024年現在でも実行できる手順にしてみました こんにちは、臼田です。 みなさん、AWSのチュートリアル活用してますか?(挨拶 今回はAWSの初心者向けハンズオンコンテンツである基本的なウェブアプリケーションを構築するを2024年の現在版の手順としてまとめてみました。 このコンテンツはAWSのサーバレスなサービスを利用して、簡単にウェブアプリケーションを作成する体験ができるチュートリアルとなっており、登場するAWSの各サービスを理解するのにちょうどよい内容でした。しかし、リリースされてしばらく経っているのもあり、特に今回のAmplify Gen2リリースもあってだいぶ画面や操作方法などが変わってしまいました。 実現できる事自体は変わらないので、現時点でこのチュートリアルを初心者でも完

        2024年版「基本的なウェブアプリケーションを構築する」のチュートリアル手順まとめてみた[Amplify Gen2対応] | DevelopersIO
      • 「システム構築はどこから始めるべきだろうか。システム構築が終わったらこうなる、というストーリーを語るところからだ。」 - Qiita

        「システム構築はどこから始めるべきだろうか。システム構築が終わったらこうなる、というストーリーを語るところからだ。」アジャイル要求ユーザーストーリー はじめに ◆この記事は何? アジャイル開発における「要求」や「ユーザーストーリー」を細分化する記事です。 ◆対象は? 要求やユーザーストーリーを整理する方 アジャイル開発に関わる方 ◆ねらいは? アジャイル開発に関わる方が、何気なく使っている「要求」や「ユーザーストーリー」の解像度を上げること エンジニア人生に影響を与えたフレーズ 「システム構築はどこから始めるべきだろうか。システム構築が終わったらこうなる、というストーリーを語るところからだ。」は、書籍『テスト駆動開発』に出てくるフレーズです。 そして書籍『テスト駆動開発』の中で、私が最も印象に残っている文章です。 この文章に出会ってから、私は「言われた通りにシステムを作る」から脱却して、「

          「システム構築はどこから始めるべきだろうか。システム構築が終わったらこうなる、というストーリーを語るところからだ。」 - Qiita
        • 掛け算の順序問題 結論書きますね! - amlx’s blog

          結論。掛け算記号「×」の定義は国際標準に決められているので、文科省だろうと先生だろうとお役人だろうと、ましてや有名な塾の先生だろうと大学の教授だろうと、勝手に独自解釈をしてはいけないのです。 例えば負の値の掛け算って、直感的にはわかりにくいですよね。りんご12個入った箱が4箱なら12×4な気がするけど、12×(-4)ってどういう意味ですかね。箱がマイナス4個?Aさんは「小学生にはわかりにくいこの×の定義は良くないから負の掛け算はしてはいけないと」と記号「×」を再定義したとします。 Bさんは0の掛け算はわかりにくいから0を掛け算に使ってはいけないと×を再定義したとします。Cさんは...、Dさんは...。みんなそれぞれ違う定義をしてしまったら意思疎通ができないですよね。そこで「×」という記号はどういう意味なのかを国際協定(IEC60050 102-01-18)で定義してあるんです。(https

            掛け算の順序問題 結論書きますね! - amlx’s blog
          • 良いユニットテストの性質を整理してたら考えるべき設計も見えてきたの

            JaSST nano vol.37 (https://jasst-nano.connpass.com/event/319899/) で登壇した内容です。 「ユニットテストの定義はこうだよ」とか「うちのディレクトリ構成はこうね。DIの方針はこう」とHowだけ言われるより「良いユニットテストってこうだよ。だからプロダクションコード・テストコードはこうやって書いてこうね」の方が深みがでませんか? ということで、名著を読んで「良いユニットテストの特徴とは?」みたいなものを整理していきました。

              良いユニットテストの性質を整理してたら考えるべき設計も見えてきたの
            • URL.parse を Chromium で Ship するまで | blog.jxck.io

              Intro Chrome 126 で筆者が実装した URL.parse が Ship された。 Chromium にコントリビュートしたことは何回かあったが、単体機能を Ship したのは初めてだった。 invalid URL の処理 new URL() によって、文字列の URL をパースすることができるようになって久しいが、この API は invalid な場合に例外を投げる。 例外処理をするよりも、先に URL としてパース可能かどうかを知るための URL.canParse() が提案され、先に実装が進んだ。 URL.canParse(str) // boolean しかし、これでは二回パースが必要になるため無駄が多い。 if (URL.canParse(str)) { // 1 回目のパース return new URL(str) // 2 回目のパース } そこで、失敗したら

                URL.parse を Chromium で Ship するまで | blog.jxck.io
              • JJUG CCC 2024 Spring:テストコードが根付くチームを立ち上げるために考えたいこと | ドクセル

                スライド概要 JJUG CCC 2024 Springでのスポンサーセッション「テストコードが根付くチームを立ち上げるために考えたいこと」の公開資料です。 シンプレクスは1997年の創業以来、メガバンクや大手総合証券を筆頭に、日本を代表する金融機関のテクノロジーパートナーとしてビジネスを展開してきました。現在では、金融領域で培った豊富なノウハウを活用し、金融機関以外の領域でもソリューションを展開しています。2019年3月にはAI企業のDeep Percept株式会社、2021年4月には総合コンサルティングファームのXspear Consulting株式会社がグループに加わり、創業時より付加価値の創造に取り組んできたシンプレクスとワンチームとなって、公的機関や金融機関、各業界をリードする企業のデジタルトランスフォーメーション(DX)の推進を支援しています。

                  JJUG CCC 2024 Spring:テストコードが根付くチームを立ち上げるために考えたいこと | ドクセル
                • YouTube、Xのコミュニティノート激似の機能のテストを開始。他のSNSにも波及か【やじうまWatch】

                    YouTube、Xのコミュニティノート激似の機能のテストを開始。他のSNSにも波及か【やじうまWatch】
                  • QA体制の過去〜現在〜未来 - asoview! Tech Blog

                    アソビューのQAチームの紹介 過去〜現在のQA体制と、プロダクト成熟度の関係 現在のQA体制とQMファンネルの比較 インプロセスTEとスプリットTE これからのQA目標と方向性 インプロセスTE、QA目標 スプリットTE、QA目標 プロダクト成熟度や変化に応じた横断的なQA さいごに こんにちは。QAエンジニアの渡辺です。 1年半前にアソビューにジョインし、現在QAリーダーをさせていただいております。 過去のQAチームのブログを見ると様々な掲載があり、外から見て現在の体制が分かりにくいかと思いましたので、 一度、アソビューのQA体制の過去〜現在と、これからの方向性をまとめてみたいと思います。 アソビューのQAチームの紹介 アソビューのQAチームは、現在5〜6名で構成されています。 各プロダクトチームに1名〜2名ずつQAメンバが入っており、 横断的な業務を全員1割ほどしています。 過去〜現在

                      QA体制の過去〜現在〜未来 - asoview! Tech Blog
                    • 軽量なStorybook駆動開発を支えるコンポーネント設計

                      こんにちは。この記事ではStorybook駆動開発をゼロから導入するために実践した内容をコンポーネント設計の側面から紹介します。合わせて、紹介した設計を元にどのようなテストを実装しているかについても紹介します。 簡単に実装できることが持続可能なテストへの鍵 Webフロントエンドの持続可能なテスト文化を醸成するためには、テストを開発フローの中で簡単に実装できることが何よりも重要です。テストの実装に機能開発以上のコストが掛かってしまう場合、「時間が無いのでテストコードを後から実装する(結果実装されない)」という典型的なアンチパターンに繋がってしまいます。 持続可能なテストを実現するためのアプローチ フロントエンドにおいて、特にIntegration Testの実装容易性は、コンポーネント設計やツールの使い方によって大きく左右されます。 筆者が関わるプロジェクトでは軽量なStorybook駆動開

                        軽量なStorybook駆動開発を支えるコンポーネント設計
                      • Web UIとWeb APIとCLIをまとめてKarateでテストする - Qiita

                        Karate とは? Gherkin記法で記載するテストフレームワークです。 元々はWeb APIのテストフレームワークでしたが、いつのまにかブラウザ操作や画像データを利用したGUIのテスト、さらにコマンドラインも実行できるようになっていました。 そこで、Karateを使ってブラウザやAPI、CLIツールを使ったRedmineのテストをしてみます。 以下をKarateで操作します。 Chromeで、Redmine にログイン Chromeで、設定ページから「RESTによるWebサービス」を有効化 Chromeで、個人設定のページを開きAPIアクセスキーを取得 REST APIで、取得したAPIアクセスキーをつかって、チケットを作成 Redmineのコマンドラインツールで、作成したissueを確認 実際のテストコードは以下になります。シンプルに可読性よくかけます。 雰囲気で何をやっているか読

                          Web UIとWeb APIとCLIをまとめてKarateでテストする - Qiita
                        • Gaugeでテストを実施する - Qiita

                          はじめに はじめまして、河村康治です。HITOTSUアドベントカレンダーの18日目を担当します!! 普段はバックエンドを主に担当しているのですが、テスト基盤構築に力をいれて行こうと思い、今回のアドベントカレンダーではフロントのテストに関して記載して行こうと思います!!! 今回は、Gauge×Playwrightを活用したE2Eテストの記事を書いて行きます!!ちなみに、今回はPlaywrightの事は深く触れていないので、興味のある方はリンクを確認ください。 Gaugeとは?? Webシステムの自動テストライブラリです。JS、C#、Java、Python、Rubyでテストコードが記載し、ブラウザ操作を自動でする事でテストの自動化に役立っております。最大の特徴はテストケースをMarkDown形式で記載でき、検証の目的やPointをコードと一緒に記載する事ができるため、保守開発がしやすい事です。

                            Gaugeでテストを実施する - Qiita
                          • pytestで1ファイル/1テストだけ実行したい(他よく使うオプション) - Qiita

                            import unittest class TestExample(unittest.TestCase): def test_example_ok_pattern(self): actual = True expected = True assert actual == expected

                              pytestで1ファイル/1テストだけ実行したい(他よく使うオプション) - Qiita
                            • S3などのデータストアへのアクセス機能をモックとすることでデータストアなしでユニットテストする手法( Java, Mockito ) - Qiita

                              S3などのデータストアへのアクセス機能をモックとすることでデータストアなしでユニットテストする手法( Java, Mockito )S3unittestMockitoaws-sdkMock 概要 データストアにアクセスすることなくテストを可能とするポイントを紹介します。 データストア( 今回はS3 )にアクセスするオブジェクトを、外部からテスト対象クラスに注入可能としておく テスト時は、データストアにアクセスしないモックを注入する 動作確認可能なソースコードは loftkun/spring-boot-s3-mock-example にあります。 テスト対象クラス テスト対象のクラスです。S3にアクセスするclientを外部から注入できるようにしています。 ( この例ではコンストラクタで受け取っています。 ) このようにデータストアにアクセスするオブジェクトを、外部からテスト対象クラスに注入

                                S3などのデータストアへのアクセス機能をモックとすることでデータストアなしでユニットテストする手法( Java, Mockito ) - Qiita
                              • Vue3 で単体テストを記述する - Qiita

                                はじめに 本記事では Vue3 で構築したコンポーネントに単体テストを実装する方法について解説します。 課題 従来、ウェブサービスのページ内容はサーバーサイドで動的生成されたHTMLにjQuery等でクライアントサイドでインタラクティブ性を付加する実装が一般的で、ブラウザに表示された内容の単体テストの実装はほぼ不可能でした。 Seleniumで出来るじゃないか、という人もいるかもしれませんが、あれは基本的にプログラムで普通のブラウザを自動制御する技術であり、サービス全体のページ遷移テストには使えるかもしれませんが、各ページごとの表示内容のチェック用として実装に手間がかかりすぎ、なおかつ実行速度も極めて遅く、しかもシステムの改変に極めて弱いためおよそ実用とは言えない代物でした。 現在の環境 現在ではVue.js、React、Angular.jsなど、アプリ構築が構造化され自動化された高度なフ

                                  Vue3 で単体テストを記述する - Qiita
                                • Rでテスト駆動開発っぽいことをしたい - Qiita

                                  背景 プログラム開発プロセスを見直したいと思っていた。 変数の名前やコメントの入れ方など、色々勉強&工夫はしているが、根本的な方法論が不足しているのは明らかだった。 データ分析系の仕事では、製品開発のプログラミングスタイルは個人の生産性が低く、明らかに合わない。 だが、検証やドキュメンテーションの不備は、たいてい納期直前に地獄を見ることになる。 この板挟みをうまく解消する方法はないだろうか? そこで、最近、以下の記事を読んだ。 忙しい研究者のためのテストコードとドキュメントの書き方 これは非常にいい。Rでも実践したいと思った。 RStudioの機能を使う まずPythonのdocstring的なものを用意しないといけない。 幸いなことに、RStudioでは、関数の中でCtrl+Alt+Shift+Rでdocstring的なもの (Rで別の名前がついてるのだろうか?) を作れる。 関数の引数

                                    Rでテスト駆動開発っぽいことをしたい - Qiita
                                  • E2E テストの決定版! テスト開発の効率が爆上がりする Playwright (TypeScript版) - Qiita

                                    E2E テストの決定版! テスト開発の効率が爆上がりする Playwright (TypeScript版)フロントエンドVisualStudioCodeE2EテストCypressPlaywright E2E テストスイート Playwright はマイクロソフトが提供しているだけあって Visual Studio Code と高いレベルで統合されています。 E2E テストをステップ実行することができ、変数の値を参照(インスペクト)できます。もちろん、ブラウザーの様子も同時に確認できます。 現在テストがどこを実行中なのかがテストコードにリアルアイムに強調表示されるので、どこで意図せずに止まっているかがすぐに分かります。この機能は追うのが難しい非同期処理にも対応しているので非常に助かります。 テストを動かさなくてもコードにマウスを合わせるだけで、対応する GUI 部品がどこにあるかがすぐに分か

                                      E2E テストの決定版! テスト開発の効率が爆上がりする Playwright (TypeScript版) - Qiita
                                    • OpenAPI (Swagger) 形式のyamlからrequestBody/responsesのサンプルJSONを出力する - Qiita

                                      OpenAPI (Swagger) 形式のyamlからrequestBody/responsesのサンプルJSONを出力するNode.jsJSONYAMLswaggerOpenAPI はじめに ユニットテストとかを書くためにAPIのリクエストとレスポンスがJSON形式で欲しいとなったときに、今まではOpenAPIドキュメントをReDocで表示してそこに載っているサンプルをコピー&JSON形式で保存し直すみたいなことをしていました。 ただしこの方法は、APIの数が増えてきてかつ変更もちょくちょくあるような場合だと結構面倒な作業ですし、CIにも組み込みにくいです。 わざわざこの画面を経由しないでもOpenAPIドキュメントのyamlからこのrequestBody/responsesだけを直接JSONで吐き出す方法は何か無いものかと色々調べてみたのですが、元のOpenAPIドキュメントをyaml

                                        OpenAPI (Swagger) 形式のyamlからrequestBody/responsesのサンプルJSONを出力する - Qiita
                                      • 手続きの呼び出しを戻り値化してテストする - Qiita

                                        はじめに 先日紹介したmatch-letの発見により俺の中ではscheme熱が盛り上がっているのだが、そんな中で面白いことを思いついた。手続きの呼び出しをどうテストするのかということについてのアイデアだ。 関数型プログラミングのいいところはいくつもあるが、テストを自動化できるということは最も大きな利点の一つだろう。副作用がなく引数に対して常に同じ値が返されるので、戻り値を検証するだけでテストを完了できる。 schemeをリスト処理のみに用いる場合、プログラムが行うことはreadで入力したリストを関数で処理し、その戻り値をwriteで出力するだけだ。そのためテストは上述のように関数の戻り値を調べるだけでいい。 しかし俺はこれからschemeを汎用的に使おうとしているのであって、その場合は手続きをより頻繁に呼び出さねばならない。ここで言う手続きとは、ファイル/ネットワーク/データベース/GUI

                                          手続きの呼び出しを戻り値化してテストする - Qiita
                                        • pytest-bddを使ってBDD開発をしよう!(初期設定から簡単なテストコードの作成まで) - Qiita

                                          概要 Pytestにはpytest-bddというBDDを実装するためのプラグインがあります 今回はpytest-bddを使ったテストの書き方について説明していきます そもそもBDDって何? BDDは振る舞い駆動開発(Behavior-Driven Development)という開発手法の略です 名前に振る舞いという文字がある通り、コード自体の振る舞いやアプリケーションの振る舞いを焦点にテストコードを書いていく開発手法です ちなみにBDDとともによく挙げられるTDD(テスト駆動開発、Test-Driven Development)は テストコードを書いてから実装用のコードを書く開発手法です 前提 WebフレームワークはDjangoを使用 本来であればテストコードを書いてから実装しますが説明の都合上、実装したコードをお見せしてからテストコードを記載していきます テストコードだけみたい方はBDD

                                            pytest-bddを使ってBDD開発をしよう!(初期設定から簡単なテストコードの作成まで) - Qiita
                                          • テストの正常系、異常系、準正常系について - Qiita

                                            テストの正常系、異常系、準正常系について ソフトウェアテストは正常系、異常系、そして準正常系のケースをカバーすることが重要です。これにより、アプリケーションが予想どおりに動作し、エラーや問題に対処できるかどうかを確認できます。 1. 正常系テスト 正常系テストは、アプリケーションが正常な状態で正しく動作するかどうかを確認します。ユーザーが期待通りの操作を行う場合の挙動をテストします。例えば、ユーザーがログインし、メールを送信するなどです。 2. 異常系テスト 異常系テストは、アプリケーションが異常な状況に遭遇したときにどのように振る舞うかを確認します。ユーザーが誤った情報を提供したり、システムエラーが発生した場合のテストです。これにより、エラーメッセージが正しく表示され、セキュリティの問題やデータ損失を防ぎます。 3. 準正常系テスト 準正常系テストは、正常系と異常系の中間に位置します。一

                                              テストの正常系、異常系、準正常系について - Qiita
                                            • 半自動テスト状態にならないためのコツ - Qiita

                                              この記事はAutify Advent Calendar 2021の22日目の記事です。 自己紹介 株式会社レコチョクでQAを担当している清崎(きよさき)と申します。 社内では独立したQAチームが組織横断として存在しており、自社サービス、toB向け、toC向けと展開しているサービスに対して、ビジネスチーム/開発チームとQAチームが協力しながらテストを実施しております。 株式会社レコチョクの紹介 当社は2001年に国内の主要レコード会社の共同出資で設立され、おかげさまで2021年で20周年を迎えました。 2002年に着うた(R)のサービスを開始し、現在はPC、Android/iOS、ゲーム機などの多様なデバイス向けにダウンロード配信やストリーミング配信を展開しております。 他にもtoB向けの事業に対しても積極的に行っており、タワーレコード社との協業提供にて定額音楽配信サービス「TOWER RE

                                                半自動テスト状態にならないためのコツ - Qiita
                                              • APIドキュメントから生成したFastApiスタブをPysenに怒られないようにするまで - Qiita

                                                以前はFlaskを使ってゆるい型もないゆるゆるフワフワしたAPIを作って居たものです。 しかしながら、最近は型の概念がいかに素晴らしいかというのをTypeScriptやらGolangやらで体感したので、たとえPythonであっても、しっかりした型でいい感じのコードを書きたくなりました。 開発環境 Poetry+Pysen これが今どきの最新っぽい雰囲気でおすすめされてたので使います openapi-generator-cli 別に何で生成してもいいと思いますが、以前から何度か使っていて慣れているので使う Stoplight 初めからStoplight使って居るので、無いとやってられない、もはや手書きでは書けない 1 ドキュメントを作る Stoplightでガリガリ書きます 2 Python-templeteを使い PysenとPoetry入ったプロジェクトを生成 で作ったあと、git cl

                                                  APIドキュメントから生成したFastApiスタブをPysenに怒られないようにするまで - Qiita
                                                • Pythonのunittestでの、assertLogs()の使い方 - Qiita

                                                  Pythonのプログラムにおいて、「特定の処理が正しくログを出力していることを確認したい」というときはありませんか?unittestのメソッドassertLogs()はその疑問を解消するためのメソッドです。 unittest --- ユニットテストフレームワーク — Python 3.8.1 ドキュメント ただ、日本語の利用例がなく、公式リファレンスももうちょっと分かりやすく書いて?な感じだったので、実動例を作ってみました。 assertLogs()とは with文を利用するメソッドの一つで、with文内で発生した、ログの出力を、指定のコンテキストマネージャオブジェクトに格納する というメソッドです。よって単体でアサート処理を行うわけではなく、別のassertXXXメソッドと組み合わせて利用します。 import unittest import logging class Test_Pro

                                                    Pythonのunittestでの、assertLogs()の使い方 - Qiita
                                                  • playwrightとGitlab CI/CDでE2Eテストを自動化してみた - Qiita

                                                    この記事はニフクラ 等を提供している、富士通クラウドテクノロジーズ Advent Calendar 2022 の7日目の記事です。 前日は@heriet さんの trivy+conftestで柔軟にライセンスポリシーをチェックする でした。 ライセンスポリシーのチェックをより容易に、汎用的にできるというのは魅力的で私自身すごく勉強になりました。 はじめに 初めまして! 私は富士通クラウドテクノロジーズ2年目の社員で、基幹システムの運用・開発をしております。 今回は実際に私が部署で管理しているWEBアプリのE2EテストをPlaywightとGitlab CI/CDで自動化した経験から、自動化までの簡単な流れを書こうと思います。 E2Eテストとは E2E(エンドツーエンド)テストは、User Interface Testとも呼ばれております。 WEBアプリにおいて、ユーザの想定される操作に対し

                                                      playwrightとGitlab CI/CDでE2Eテストを自動化してみた - Qiita
                                                    • 運ゲー化していた動的UIのテストをリトライするためにrspec-retry_ex gemを導入しました - Qiita

                                                      発生した問題 私たちが扱うプロダクト内では、ユーザーの入力値に基づき表示が変化する動的なUIが存在します。 このフロントエンドのテストはRSpecを用いて行っていました。 しかし、このような動的UIの自動テストは、何回かに1回の確率で落ちてしまい、GREENになるかどうかがある意味「運次第」となる傾向がありました。 問題が発生することの課題 変更していない箇所に対してテストが落ち、CIツールの画面上で「Retry」をすることは開発スピードの足を引っ張ります。 そこで、落ちやすいテストに関して自動でリトライしてくれるgemを導入しました。 対象となるテスト example '試算ができないこと' do visit('/try/input') fill_in('simulation_postcode_1', with: '100') fill_in('simulation_postcode_2

                                                        運ゲー化していた動的UIのテストをリトライするためにrspec-retry_ex gemを導入しました - Qiita
                                                      • Factorybotのtransient属性とは何か - Qiita

                                                        はじめに Factorybotのコード内に transient という定義を見かけました。 初めて見かけた属性だったので調べてみました。 transient属性とは? factory_bot gemのGETTING_STARTEDドキュメントには以下のように定義されていた。 Transient attributes are attributes only available within the factory definition, and not set on the object being built. This allows for more complex logic inside factories. 「一時的属性」とは、ファクトリーの定義内でのみ利用可能な属性であり、構築されるオブジェクトには設定されません。これにより、ファクトリー内でより複雑なロジックを実装できます。 と

                                                          Factorybotのtransient属性とは何か - Qiita
                                                        • Google Colaboratoryでテストメソッドを指定してunittestを実行する方法 - Qiita

                                                          Google Colaboratory でテストメソッドを指定して unittest を実行する方法を調べたので書いておきます。 サンプルのテスト対象を作っておきます。テストクラスが2つ、テストメソッドは合計4つです。 import unittest def add(x, y): return x + y class AddTest(unittest.TestCase): def test_add(self): self.assertEqual(add(1, 2), 3) class TestStringMethods(unittest.TestCase): def test_upper(self): self.assertEqual('foo'.upper(), 'FOO') def test_isupper(self): self.assertTrue('FOO'.isupper())

                                                            Google Colaboratoryでテストメソッドを指定してunittestを実行する方法 - Qiita
                                                          • Python+pytestでテスト駆動開発しようとしたらテストの実行で躓いたので解決法をメモ - Qiita

                                                            業務でPythonによるテスト駆動開発(TDD)を行うことになり、pytestを用いました。ただ、ディレクトリ構造が正しく認識されないとModuleNotFoundErrorに阻まれて実装が進まなくなってしまうため、備忘録を兼ねてまとめることにしました。 環境構築 pytestのインストールが必要です。下記コマンドの実行でインストールが可能です。

                                                              Python+pytestでテスト駆動開発しようとしたらテストの実行で躓いたので解決法をメモ - Qiita
                                                            • pytestでflaskの単体テストのパラメータをきれいに与える - Qiita

                                                              はじめに 前回はpytestを使用してflaskの単体テストを行いました。しかし、一つのテスト関数の中でflaskのクライアント作成とテストを行っているのでとても見にくいものになりました。今回は、もう少しテストが見やすくなるように色々なpytestの機能を使っていきます。 環境 python:3.6.5 flask:1.0.2 pytest:5.3.5 テストと前処理・後処理の分離 flaskのクライントとテストソースを一つの関数内にまとめていましたが、テスト関数が増えると見にくくなります。また、厳密に言うとクライアント作成はテストではないため、性能テスト時や関数の結果に左右されるのは良くないです。そこでクライアント作成・削除をテストと分離します。 テスト対象のソース テスト対象のソースは前回のflaskのソースを使用します。 from flask import Flask, jsonif

                                                                pytestでflaskの単体テストのパラメータをきれいに与える - Qiita
                                                              • mysql の CHECKSUM TABLE が 自動テストのDBロールバックする時に便利だった - Qiita

                                                                はじめに 去年は、言語バージョンアップにおけるE2Eテストの考え方とアプローチ方法についてを書きました。 今回は、「DBの差分とロールバック」 に関して書きたいと思います。 DB Diff を実際に使ってみた結果 前回の記事では、「DB Diff」というツールを使うことで、比較とロールバックを自動で行うことができると書いていました。 ★E2Eで検証するデータ種類によって比較方法 新規登録で同じデータが登録される。 → 「どのテーブルに変更が加わったのか?」は DBデータファイルの更新日時等から自動取得させる。 → 登録されたDBデータの差分の比較。( DB Diff ) → 比較後にテスト実行前の状態に戻す( DB Diff ) とある問題が発生し、本格的な導入を断念することにしました。 レコードが多いテーブルの比較を行う場合に時間がかかり、テスト実行後のデータロールバックに時間がかかりす

                                                                  mysql の CHECKSUM TABLE が 自動テストのDBロールバックする時に便利だった - Qiita
                                                                • PlaywrightをRailsに導入して手動テスト工数を減らす - Qiita

                                                                  対象者 Cypressを使ったテストを書いたことがある人 RailsのRSpecを使ったテストを書いたことがある人 手動テスト辛い 私が担当している案件の中には、1年以上運用しているwebサービスがあります。 フロントエンド・バックエンド共に存在します。 課題は色々あるのですが、一番課題に感じているのがテストです。 そのサービスの前回の機能追加リリース時は、画面操作系のテストは手動で行いました。 そうなってしまった理由は大きく分けて以下3点です。 画面操作系の自動テストを書く時間がない 手動テストした方が早いという考えがある 今の画面操作系自動テストの仕組みでは画面操作後のDB値チェックができない この問題をなんとか解決したいという思いがあります。 単体テストが一番重要 まず大前提の話です。 単体テストとは、関数やメソッド単位での機能が期待通りであるかのテストです。 これまで色々とバグや障

                                                                    PlaywrightをRailsに導入して手動テスト工数を減らす - Qiita
                                                                  • nuxt-typed-vuexを使ったページコンポーネントを(苦しまずに)単体テストするためのTips - Qiita

                                                                    はじめに これは以下の全てに当てはまる人向けの記事です。 Nuxtでも型推論の恩恵を得るためにnuxt-typed-vuexを導入している nuxt-typed-vuexを利用したページコンポーネントの単体テストを書こうとしている 元々はページコンポーネントが肥大化しそうだったため、リファクタリングを通じて処理の責任分割をしようと思ったのが発端です。 ただページコンポーネントが状態に応じて細かく表現を変える実装になってしまっており、「まずはページコンポーネントが意図通りに動くこと」を担保するため、ページコンポーネントの単体テストに手を出した次第です。 その際に幾つかの問題が発生したので、その内訳と対処法を残しておきます。 ※ リファクタリングの話、Vueのテスト方法、nuxt-typed-vuexが何ぞやという話はしませんのでご注意下さい 前提 環境 パッケージ バージョン

                                                                      nuxt-typed-vuexを使ったページコンポーネントを(苦しまずに)単体テストするためのTips - Qiita
                                                                    • Mockeryのパーシャルモックが便利 - Qiita

                                                                      概要 モックを使わなくてもテストができればそれに越したことはありません。 最近のMVCフレームワークはユニットテストを考慮された作りになっていることが多いので、あまり苦労することはないかもしれませんが、筆者の環境ではフレームワークのコアの処理や、コアの処理に誰かが加えた変更がユニットテストの実行を阻害するケースがあったので、Mockeryというモッキングフレームワークが役に立ちました。 今回はパーシャルモックという機能について、共有と備忘録の目的で投稿します。 環境 PHP 5.3 Zend Framework 1.11 PHPUnit 3.7 mockery 0.9.8 インストール

                                                                        Mockeryのパーシャルモックが便利 - Qiita
                                                                      • pytestのフィクスチャが便利だった - Qiita

                                                                        はじめに 2020年度XTechグループアドベントカレンダーの18日目の記事です。 XTech株式会社のタカクです。 ここ最近Pythonを使って開発をしています。 Pythonには標準のテストフレームワークであるunittestがありますが、私が関わっているプロジェクトでは3rdパーティー製のpytestを好んで使っています。 pytestはテスト失敗時に詳細なメッセージを表示してくれたり、フィクスチャの機能が便利なことから採用しています。 今回はpytestの基本とフィクスチャについて書きます。 pytestの基本 pytestは3rdパーティー製のテストフレームワークのため、Python標準のunittetとは違い個別でのインストールが必要なのでインストール。

                                                                          pytestのフィクスチャが便利だった - Qiita
                                                                        • テスト自動化ジャーニー:成功への5つのステップ - Qiita

                                                                          この記事は テスト自動化の成功事例を語ろう by T-DASH Advent Calendar 2023 のエントリー記事です。が、内容は成功事例というより私自身のテスト自動化の成功事例を通した「失敗しないためのTips」の話です。 そもそもテスト自動化をやるぜぇ〜という経緯や背景は企業によって様々で、他社の成功事例がそのまま流用できる保証は一切ありません。しかし、失敗談はどの会社も「あるある」とうなずくものばかりです。 ということは、失敗してきたことを意識しながらテスト自動化プロセスを進めることである程度成功に近づけることができるのではないかと考えることができそうです。 大事なこと(結論) まず結論だけ箇条書きします。これだけ意識しておけば少なくとも失敗はしません。(成功するとは限りません) 業務フローにテスト自動化を組み込め 他人を巻き込め 計測せよ 属人化をなるべく排除すべし 「品質

                                                                            テスト自動化ジャーニー:成功への5つのステップ - Qiita
                                                                          • Batsを使ってbashのUnitTestを行う - Qiita

                                                                            はじめに shellScriptコードで最低限の自動テストをやりたい人向けのメモ、カバレッジ分析等は対象外 ちなみにBatsとbats-coreが存在するが、現在は bats-core/bats-coreがメンテされている 検証環境 Ubuntu 21.04 bats-core 1.5.0 bats-support, bats-assert 0.3.0 インストール方法 bats-coreのインストール $ git clone https://github.com/bats-core/bats-core.git $ cd bats-core $ ./install.sh /usr/local

                                                                              Batsを使ってbashのUnitTestを行う - Qiita
                                                                            • AWS LambdaでPlaywrightを使う(Python 3.10 + playwright1.42.0) - Qiita

                                                                              スクレイピングにseleniumを使用していましたが、playwrightがかなり直感的で使いやすかったことから活用を始めました。また、実行環境をlambdaにすることで他のアプリケーションから利用しやすくすることもできるため、その方法をまとめておきます。 開発環境 Windows10 Home 22H2 Python 3.10.4 playwright 1.42.0 1.playwrightを利用した機能を実装する ローカルで普通に実装します。ブラウザオブジェクトを作る際には次のオプションを指定しておきます。今回は図書館のHPにアクセスして貸出状況を取得するスクレイパーを実装しています。 browser = playwright.chromium.launch( args=[ "--disable-gpu", "--single-process", ], ) 2.lambdaから利用する

                                                                                AWS LambdaでPlaywrightを使う(Python 3.10 + playwright1.42.0) - Qiita
                                                                              • Rubyで、テスト対象のコードで exit していると RSpec がそこで正常終了する - Qiita

                                                                                並行で行っている RSpec のテストの実行数がなぜか実行ごとに異なるという問題が発生した。実行ログを調査したところ、テストの途中で RSpec が正常に終了していることがわかった。原因はテストコード中で exit を実行していること。特に rake タスクのテストとかで結構あると思う。 例えば、このようなコードがあり

                                                                                  Rubyで、テスト対象のコードで exit していると RSpec がそこで正常終了する - Qiita
                                                                                • 単体テスト自動化について独り言 - Qiita

                                                                                  技術的なことはなく、単体テストただの独り言ですのでブラウザバックしていただいてOKです。 CD/CIが気になるお年頃で、単体テストを自動化について考える機会が増えたので備忘録的に残したいと思います。 手動・自動どちらで単体テストを実施するにしても、下記は一般的なことだと思いますが、しかし私は納期に追われて蔑ろにすることが多かったです・・・。 単体テスト設計 データ設計 単体テスト実装 単体テスト実施 改めて過去のソースコードを見直して、そのコードたちに単体テストテストコードを施してやろうとしたときに、いくつかの壁にぶち当たりました。 一言でいうと、煩雑。 具体的にいうと・・・。 データをイジイジするところは、エンジニアごとにバラバラ 似たような関数もチラホラ 共通化や部品化してないので1関数が超大作 など 結果からいうと、既存のソースに対してテストコードを書くのは断念しました。 単体テスト

                                                                                    単体テスト自動化について独り言 - Qiita