QualityForwardはクラウドベースのテスト管理サービスです。APIを公開しており、テスト管理に関するデータのCRUD操作ができるようになっています。テストケースであったり、それらをまとめたテストスイートなどを作成できます。
今回、APIを使うためのSDKを開発していてハマったポイントについて、メモしておきます。
テストスイートが表示されない
テストスイートは次のAPI操作で作成できます。
POST /api/v2/test_suites.json
そして、作成はできるのですが、なぜか一覧には出ません。Node.js SDKで書くと、次のようなコードです。
const count = testSuites.length;
const testSuite: TestSuite = client.TestSuite();
testSuite.name = 'APIから作成したテストスイート';
testSuite.project_id = 748;
testSuite.label_category1 = '機能カテゴリ';
testSuite.use_category1 = true;
testSuite.label_content1 = '環境';
testSuite.use_content1 = true;
testSuite.coverage_panel_column = null;
await testSuite.save();
Web上での操作を真似る
そこでWeb上の管理画面での操作を見てみたところ、テストスイートを作成すると同時にテストスイートバージョンが作成されていることが分かりました。テストスイートバージョンはテストスイートをバージョン管理し、同じテストケースを繰り返しテストするための仕組みです。
つまりテストスイートを作成しただけでは十分ではなく、同時にテストスイートバージョンも作成する必要がありました。コードとしては、下記を追加します。
// テストスイートバージョンの作成
const tsv = testSuite.version();
tsv.name = 'バージョン1';
// テストスイートにセット
testSuite.setVersion(tsv);
// そしてテストスイートを保存
await testSuite.save();
こうしてあげることで、テストスイート一覧にAPIから作成したテストスイートが表示されるようになりました。

まとめ
APIドキュメントには、まだアンドキュメントな部分が多く、手探りが必要な部分が多々あります。SDKは現在、Node.js / Python / Ruby / Google Apps Script版を開発しています。SDKから利用することで、なるべくアンドキュメントなところをエラーで返すようにしていきますので、ぜひご利用ください。