0

画像比較にはResembleJSを使用しています。スタンドアロン スクリプトで実行すると、実行できます。コードは次のとおりです。

    var compareImages = require('resemblejs/compareImages');
    var fs = require('fs');
    var path = require('path');
    // The parameters can be Node Buffers
    // data is the same as usual with an additional getBuffer() function
    async function getDiff() {
      var img = path.join(__dirname, 'small.jpg');
      const data = await compareImages(
        fs.readFileSync(img),
        fs.readFileSync(img)
      );
      console.log(data);
      fs.writeFileSync('./output.png', data.getBuffer());
    }

    getDiff();

すべてが期待どおりに機能します。

しかし、jest フレームワークを使用してテスト内で比較を実行すると、ハングし、最終的にタイムアウトになります。最初は、実行速度が非常に遅いだけかもしれないと思ったので、冗談で最大タイムアウトを 1 分に設定しました。それでも失敗しました。そこで、テスト画像を 1 ピクセルに設定して、最も簡単なテストにします。それでも終わりません。

Node 8.9.4 (docker ハブ node:8 からのもの) を使用して docker コンテナーから実行します。jest 22.0.4 を実行しています。

これら2つを一緒に実行する際に問題がある人は他にいますか?

Resemblejs が Jest でテストを実行することは知っているので、何が問題を引き起こしているのかわかりません。

4

2 に答える 2