如何调试Jest的预处理器?

时间:2015-05-12 18:11:48

标签: reactjs jestjs grunt-jest

有时我需要调整我的preprocessor.js以考虑不应该通过ReactTools.transform的新文件类型。我想调试process的调用,以确保我理解它的参数 - 但是如果我在方法中console.log,我会收到此错误:

  

错误:在响应之前尝试向工作人员发送消息   从收到的最后一条消息!工作进程只能处理   一次发一条消息。

我通过grunt-jest从Grunt运行Jest。 Gruntfile部分:

jest: {
  options: {
    coverage: false,
    testPathPattern: /__tests__\/.*/
  }
},

预处理器文件:

'use strict';
var ReactTools = require('react-tools');

module.exports = {

  process: function(src, file) {
    if (file.match(/node_modules/)) {
      return src;
    } else if (file.match(/css/)) {
      return '';
    } else if (file.match(/png/)) {
      return '';
    }
    //console.log/setTimeout...console.log doesn't work
    //console.log(file);
    //setTimeout(function() {console.log(file);},0);

    var transformed = ReactTools.transform(src, { harmony: true });

    return transformed;
  }

};

Relevant docs from jest

如何调试'进程'方法?

(我试图调试的问题是在node_modules中需要一个css文件,该文件被第一个if块捕获并且从未到达.match(/css/)块,但问题仍然存在。)

1 个答案:

答案 0 :(得分:0)

我之前也遇到过这种情况,并且无法追查原因,但我的工作只是使用 Sub SearchOL() Dim olApp As Outlook.Application Dim olNs As NameSpace Dim Fldr As MAPIFolder Dim olMail As Variant Dim i As Integer Set olApp = New Outlook.Application Set olNs = olApp.GetNamespace("MAPI") Set Fldr = olNs.GetDefaultFolder(olFolderInbox) i = 1 For Each olMail In Fldr.Items If InStr(olMail.Subject, "DNP Warn and Pend Event") <> 0 Then olMail.Display i = i + 1 End If Next olMail End Sub