3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

ソフトウェアテストAdvent Calendar 2022

Day 13

CodeceptJSのmailSlupメール対応が旨くいってた

Last updated at Posted at 2022-12-24

概要

久々にCodeceptJSを使って自動テストする機会があり、いろいろ触っていると、以前利用できなかったmaiolslurpのhelperが、使えるようになっていたので、使ってみました。
自動テストにメール認証を含んでいる場合や、受信メールの文面がテスト対象になっている場合に、helperをインストールすれば、簡単に自動テストできます。

インストール

CodeceptJSの公式サイトの通りにできました。

npm i @codeceptjs/mailslurp-helper --save-dev

以前は、インストールでコケていたのですが。
当時のCodeceptJSのバージョンは、3.1.2
今は3.3.7、結構すすんでいました。

使い方

以前は、mailslurp-clientインスタンスを起動していましたが、

const { MailSlurp } = require("mailslurp-client");

現在は、codecept.conf.jsに、

helpers: {

  MailSlurp: {
    require: '@codeceptjs/mailslurp-helper',
    apiKey: '<apiKeyFromMailSlurp>'
  },
}

を記述しておけば、
受信用のカスタムメソッドを自前で記述することなく、inboxID宛てのメールは、

const inboxID = await I.haveNewMailbox();
const mailAddress = inboxID.emailAddress;

でCodeceptJSのメソッドのように使えるので、テストコードの見通しが良くなりました。
進化を続けているフレームワークを使うメリットは、大きいですね。
上記の事例では、emailAddressメソッドでメールアドレスを取得していますが、他にもhelperから使える検証メソッドがあって、詳しくはこちらを参照下さい。

総括

mailslurpで用意されているAPIを利用すれば、CodeceptJS以外の自動テストツール(MagicPod等)にメール受信を含む検証がローコードで容易に作成することができます。
Node.jsのテストコードを少しだけ記述する必要はありますが、CodeceptJSのhelperを利用して自動テストが構築できますので、なんとなく何をしているのか読めるテストコードを記述してテスト自動化を検討してみても良いかもしれません。

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?