ReactTestUtils findRenderedComponentWithType抛出错误没有被chai检测到?

时间:2016-05-09 21:05:57

标签: reactjs mocha chai reactjs-testutils

我使用findRenderedComponentWithType来确保存在错误,我正在使用chai的assert.throws,但它无效。

首先:

TestUtils.findRenderedComponentWithType文档:

module.exports = function(grunt) { grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), pug: { compile: { options: { client: false, pretty: true }, files: [ { cwd: "resources/assets/jade", src: "**/*.jade", dest: "public/app", expand: true, ext: ".html" } ] } }, }); grunt.loadNpmTasks('grunt-contrib-pug'); grunt.registerTask('default', ['pug'] ); };

当我使用该功能时,我得到一个错误(正如预期的那样)。 但是我似乎无法用chai正确地断言它: 我试过了expects there to be one result and returns that one result, or throws exception if there is any other number of matches besides one.。但它说测试失败了,即使我收到错误:

assert.throws(TestUtils.findRenderedComponentWithType(element, component),  /(Error)/)

1 个答案:

答案 0 :(得分:1)

检查throws的签名,它需要一个函数,而不是一个错误/对象(这是findRenderedComponentWithType的结果。 http://chaijs.com/api/assert/#method_throws

所以你会想做像

这样的事情
cons fn = () => TestUtils.findRenderedComponentWithType(element, component)
assert.throws(fn)