次のページに、dbt BestPracticeとしてコードスタイルの記載があり、
pre-commit hooksで自動化しようとかも書かれているのですが、
設定例が見当たらなかったので書いてみました。
How we style our dbt projects | dbt
https://docs.getdbt.com/best-practices/how-we-style/0-how-we-style-our-dbt-projects
BestPracticeのコードスタイルでは、以下のようにツールへの …
dbt-coreを使って開発をしているといろいろとyamlファイルを作ることになるので、
これらのスキーマ検証を自動的に行えると便利です。
dbt-core | GitHub
https://github.com/dbt-labs/dbt-core
次のリポジトリで、dbtのjsonschemaが公開されているので、
このエントリでは、
pre-commitのcheck-jsonschemaフックで検証する手順を記載したいと思います。
dbt-jsonschema | GitHub …
Git等のコミットメッセージの書き方のルールに、
「Conventional Commits」という仕様があります。
Conventional Commits
https://www.conventionalcommits.org/ja/v1.0.0/
本エントリでは、
このルールに従っているかをチェックする仕組みを、
GitHubActionsとpre-commitで設定する手順を示します。
GitHubActionsでの設定
次のActionを使うと、
GitHubActions …
以下のActionを使って、GitHubActionsでpre-commitを動かす場合、
既定では全ファイルに対して適用されます。
pre-commit/action | GitHub
https://github.com/pre-commit/action
このエントリでは、
該当のPullRequestで変更したファイルのみに適用したい場合の設定方法を示します。
# ユースケースとしては、
# リンター類を導入して無かったリポジトリに対して、
# 新規・変更部分から段階的に適用していきたい場合など。
…
CucumberやBehave等のテスト結果はAllureを使うと、
エビデンスの保存もでき、レポートも綺麗に確認ができます。
ただHTML形式のレポートではHostingする環境が必要が必要になります。
GitHubを使っている場合、Markdown形式であれば、
PullRequestのコメント・ActionsのJob Summaries等でお手軽に表示できるので、
このエントリでは、Markdown形式に変換する事を考えてみます。
結論からになりますが、
次に示すファイル構成でリポジトリを作っ …
このエントリでは、
BehaveからSeleniumWebDriverを使って、
ブラウザのスクリーンショットを撮り、Allureのレポートに添付する流れを記載します。
BehaveからSeleniumWebDriverを使うならbehave-webdriverと言うライブラリがありますが、
対応しているSeleniumがやや古いのと、日本語でシナリオ書けないので、
このエントリでは、ライブラリを使用せずに対応することにします。
behave-webdriver …
このエントリでは、Behaveの非同期処理を試したメモを残します。
Behaveの非同期処理については、以下で紹介されています。
Testing asyncio Frameworks | Noteworthy in Version 1.2.6 | behave https://behave.readthedocs.io/en/stable/new_and_noteworthy_v1.2.6.html#testing-asyncio-frameworks
非同期処理には、以下の2種類があります。 …
このエントリでは、
Behaveで、現在テスト中のステップを把握する方法を記載します。
シナリオ下のステップ一覧表示
シナリオ下のステップは、次のようなコードで一覧表示することができます。
# -- FILE: sample.feature
Feature: sample feature
Scenario: sample scenario
Given sample step
When sample step
Then sample step
# -- …このエントリでは、
Allure Behaveで検査結果にMarkdown文書を添付する方法を記載します。
Allureのレポートには、次のページで示されているように、
Screenshots, Videos, Text(html/plain), Tables, URI lists, Documents(xml/json/yaml)
などの形式のデータを添付できます。
Attachments | Allure Report
https://allurereport.org/docs/attachments/ …
Behaveでテストを繰り返し実施していると、
失敗したシナリオだけを再実行したい時があります。
そのような場合、
次のリンク先にあるように、テスト結果のフォーマットを「rerun」にすると、
失敗したシナリオのみ再実行することができます。
features/formatter.rerun.feature | behave/behave | GitHub https://github.com/behave/behave/blob/main/features/formatter.rerun.feature
こ …
Allure Behaveでテストをする際に、
標準出力・標準エラー出力を検査結果に添付する方法は、
次のエントリでまとめました。
Allure Behaveで標準出力・標準エラー出力を検査結果に添付する
https://takemikami.com/2024/0605-allure-behave-stdout.html
このエントリでは、同様にしてログも添付できると便利だと思うので、
その手順をまとめておきます。
テストコードの作成
以下のように、ログを出力するテストコードを用意します。 …
このエントリでは、
nginxのreverse-proxyの後ろで、MLflowを動かすときの設定メモを残しておきます。
MLflowのセットアップは、以下の手順で行った想定で記載します。
UbuntuLinuxにMLflowをセットアップする手順
https://takemikami.com/2024/0319-ubuntulinuxmlflow.html
試した環境:
- Ubuntu Linux 22.04.3
- nginx 1.18.0
- MLflow 2.11.1
MLflowでsubpathを有効に …
このエントリでは、
nginxのreverse-proxyの後ろで、Forgejoを動かすときの設定メモを残しておきます。
Forgejoのセットアップは、以下の手順で行った想定で記載します。
UbuntuLinuxにForgejoをセットアップする手順
https://takemikami.com/2024/0318-ubuntulinuxforgejo.html
試した環境:
- Ubuntu Linux 22.04.3
- nginx 1.18.0
- Forgejo 1.21.7
基本的には、以下の公式の説 …
Allure Behaveを使うと、検査結果レポートを見やすく表示できます。
Allure Behave | Allure Report
https://allurereport.org/docs/behave/
また、検査結果にテキスト・画像などの情報を添付して、
付加情報やエビデンスとして活用することもできます。
Attach screenshots and other files | Allure Behave | Allure Report …
pre-commit(git hookの管理ツール)やCIを、
Gitのリポジトリに導入することで、コードの品質管理を行いやすくすることができます。
ただし複数人が関わるリポジトリへの導入・機能追加は、
開発者間の調整や、プロジェクトの管理方針うんぬんが関わってきて、
ちょっとしたツールを小回りよく導入することが難しいことが多々あります。
そこで、このエントリでは自分個人の作業効率のために、
pre-commitとact(GitHub Actionsのworkflowを手元のPCで動かすことができる)を導入 …



