テストコード実行用コマンド追加、およびreadmeの更新
This commit is contained in:
parent
241838ef71
commit
de9bf1a064
@ -5,7 +5,9 @@ name = "pypi"
|
||||
|
||||
[scripts]
|
||||
"test:ultmarc" = "pytest tests/batch/ultmarc/"
|
||||
"test:ultmarc:cov" = "pytest --cov=src/batch/ultmarc/ --cov-branch --cov-report=term-missing tests/batch/ultmarc/"
|
||||
"test:ultmarc:cov" = "pytest --cov=src/batch/ultmarc/ --cov-branch --cov-report=term-missing tests/batch/vjsk/"
|
||||
"test:vjsk" = "pytest tests/batch/vjsk/"
|
||||
"test:vjsk:cov" = "pytest --cov=src/batch/vjsk/ --cov-branch --cov-report=term-missing tests/batch/vjsk/"
|
||||
|
||||
[packages]
|
||||
boto3 = "*"
|
||||
|
||||
@ -44,7 +44,7 @@
|
||||
- 「entrypoint.py」が、バッチ処理のエントリーポイント。
|
||||
- 実際の処理は、「src/jobctrl_daily.py」で行っている。
|
||||
|
||||
## 単体テスト
|
||||
## 単体テスト(アルトマーク取込処理)
|
||||
|
||||
アルトマーク取込処理は、単体テストコードを使用してテスト自動化を行う
|
||||
|
||||
@ -68,7 +68,7 @@
|
||||
| コマンド | 概要 |
|
||||
| ---------------- | -------------------------------------------------------------------------------------------- |
|
||||
| test:ultmarc | tests/batch/ultmarc フォルダ配下のユニットテストを実行する |
|
||||
| test:ultmarc:cov | tests/batch/ultmarc フォルダ配下のユニットテストを実行し、テストカバレッジを取得する(C1, C2) |
|
||||
| test:ultmarc:cov | tests/batch/ultmarc フォルダ配下のユニットテストを実行し、テストカバレッジを取得する(C0, C1) |
|
||||
|
||||
### テスト共通関数の仕様
|
||||
|
||||
@ -156,6 +156,43 @@
|
||||
- テスト結果データと期待値データを突き合わせ、期待値どおりとなっているかを確認する
|
||||
- ignore_col_nameに指定したカラムは、呼び出し元のテストコード内で個別に突き合わせする
|
||||
|
||||
|
||||
## 単体テスト(実消化データ取込処理)
|
||||
|
||||
実消化データは、単体テストコードを使用してテスト自動化を行う
|
||||
|
||||
### テスト準備
|
||||
|
||||
※単体テスト(アルトマーク取込処理)と同じ
|
||||
|
||||
### テスト用のサブコマンド一覧
|
||||
|
||||
- `pipenv run`のあとに、サブコマンドとしてユーザー定義スクリプトを実行できる
|
||||
- `Pipfile`内の「scripts」セクションに宣言されている
|
||||
|
||||
| コマンド | 概要 |
|
||||
| ---------------- | -------------------------------------------------------------------------------------------- |
|
||||
| test:vjsk | tests/batch/vjsk フォルダ配下のユニットテストを実行する |
|
||||
| test:vjsk:cov | tests/batch/vjsk フォルダ配下のユニットテストを実行し、テストカバレッジを取得する(C0, C1) |
|
||||
|
||||
### テスト共通関数の仕様
|
||||
|
||||
- tests/testing_vjsk_utility.py内の共通関数の仕様について記載する
|
||||
|
||||
#### create_vjsk_assertion_list
|
||||
|
||||
- 概要
|
||||
- DB登録期待値リストを作成する
|
||||
- Args:
|
||||
- file_path (str): DB登録期待値ファイル(tsvファイル)のパス
|
||||
- memo: ※DB登録期待値ファイルの前提
|
||||
- memo: 受領データファイルと同じ
|
||||
- memo: BOM付きtsv形式
|
||||
- memo: 一行目はカラム名になっているヘッダ行
|
||||
- Returns:
|
||||
- List(dict) DB登録期待値辞書リスト
|
||||
|
||||
|
||||
## フォルダ構成
|
||||
|
||||
```text
|
||||
@ -203,16 +240,53 @@
|
||||
└── tests -- ユニットテストのルートディレクト
|
||||
├── batch
|
||||
│ └── ultmarc -- アルトマーク関連のユニットテストを格納する
|
||||
│ └── utmp_tables
|
||||
│ └── table_mapper -- 以下、マッパークラス単位でフォルダを切る
|
||||
│ └── com_alma
|
||||
│ ├── test_com_alma_mapper.py -- テストコード本体
|
||||
│ ├── com_alma_insert.csv -- S3に配置される想定のテストCSVデータ。ケースごとに用意する。
|
||||
│ ...
|
||||
│ ├── db_com_alma_before_update.csv -- テスト時に事前にDBに登録しておくデータ。CSVで用意する。
|
||||
│ ...
|
||||
│ ├── expect_com_alma_insert.csv -- テストの期待値データ。CSVで用意する。
|
||||
│ ...
|
||||
│ │ └── utmp_tables
|
||||
│ │ └── table_mapper -- 以下、マッパークラス単位でフォルダを切る
|
||||
│ │ └── com_alma
|
||||
│ │ ├── test_com_alma_mapper.py -- テストコード本体
|
||||
│ │ ├── com_alma_insert.csv -- S3に配置される想定のテストCSVデータ。ケースごとに用意する。
|
||||
│ │ ...
|
||||
│ │ ├── db_com_alma_before_update.csv -- テスト時に事前にDBに登録しておくデータ。CSVで用意する。
|
||||
│ │ ...
|
||||
│ │ ├── expect_com_alma_insert.csv -- テストの期待値データ。CSVで用意する。
|
||||
│ │ ...
|
||||
│ └─vjsk -- 実消化データ取込処理関連のユニットテストを格納する
|
||||
│ │
|
||||
│ ├─vjsk_file_check -- 受領ファイルチェック処理関連のユニットテストを格納する
|
||||
│ │ ├─conftest.py -- テスト内で共通利用できるフィクスチャの宣言
|
||||
│ │ └─test_vjsk_file_check.py -- テストクラス本体
|
||||
│ │
|
||||
│ └─vjsk_load -- 受領データ登録処理関連のユニットテストを格納する
|
||||
│ │ conftest.py -- テスト内で共通利用できるフィクスチャの宣言
|
||||
│ │ test_vjsk_load.py -- テストクラス本体
|
||||
│ │
|
||||
│ └─testdata -- テストモジュールが使用するテストデータを格納する
|
||||
│ │ bio_slip_data_202304280000.tsv -- 正常ケースの単体確認用
|
||||
│ │ ... -- *20230428* は新規4件の登録確認用
|
||||
│ │ whs_mst_202304290000.tsv -- *20230429* は更新2件+追加新規2件の登録確認用
|
||||
│ │
|
||||
│ ├─NoData -- 正常ケースの単体確認用
|
||||
│ │ bio_slip_data_nodatarecord.tsv -- ヘッダ行のみでデータが0件の動作確認用
|
||||
│ │ ...
|
||||
│ │ whs_mst_nodatarecord.tsv
|
||||
│ │
|
||||
│ ├─TestFormatErrorFile -- 異常ケースの単体確認用
|
||||
│ │ bio_slip_data_formaterror.tsv -- 末尾行のタブ数が想定と異なる(ファイル欠落がある)ときの動作確認用
|
||||
│ │ ...
|
||||
│ │ whs_mst_formaterror.tsv
|
||||
│ │
|
||||
│ ├─TestImportFileToDb -- 正常ケースの単体確認用
|
||||
│ │ bio_slip_data_202304270000.gz -- 対向元システムから送られてきた状態(gz圧縮)の受領データファイルの動作確認用
|
||||
│ │ ...
|
||||
│ │ whs_mst_202304270000.gz
|
||||
│ │
|
||||
│ └─UnzipError -- 異常ケースの単体確認用
|
||||
│ bio_slip_data_202304270000.gz -- gz圧縮ファイルが解凍できないときの動作確認用
|
||||
│ ...
|
||||
│ whs_mst_202304270000.gz
|
||||
│
|
||||
├── conftest.py -- テスト内で共通利用できるフィクスチャを宣言する(執筆時点ではDBのみ)
|
||||
└── testing_utility.py -- テストの共通関数
|
||||
├── testing_utility.py -- テストの共通関数
|
||||
└── testing_vjsk_utility.py -- テストの共通関数(実消化データ取込処理関連)
|
||||
```
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user